src/share/vm/code/codeBlob.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/code

src/share/vm/code/codeBlob.hpp

Print this page




 204   // Transfer ownership of comments to this CodeBlob
 205   void set_strings(CodeStrings& strings) {
 206     _strings.assign(strings);
 207   }
 208 };
 209 
 210 
 211 //----------------------------------------------------------------------------------------------------
 212 // BufferBlob: used to hold non-relocatable machine code such as the interpreter, stubroutines, etc.
 213 
 214 class BufferBlob: public CodeBlob {
 215   friend class VMStructs;
 216   friend class AdapterBlob;
 217   friend class MethodHandlesAdapterBlob;
 218 
 219  private:
 220   // Creation support
 221   BufferBlob(const char* name, int size);
 222   BufferBlob(const char* name, int size, CodeBuffer* cb);
 223 
 224   void* operator new(size_t s, unsigned size, bool is_critical = false) throw();
 225 
 226  public:
 227   // Creation
 228   static BufferBlob* create(const char* name, int buffer_size);
 229   static BufferBlob* create(const char* name, CodeBuffer* cb);
 230 
 231   static void free(BufferBlob* buf);
 232 
 233   // Typing
 234   virtual bool is_buffer_blob() const            { return true; }
 235 
 236   // GC/Verification support
 237   void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f)  { /* nothing to do */ }
 238   bool is_alive() const                          { return true; }
 239 
 240   void verify();
 241   void print_on(outputStream* st) const;
 242   void print_value_on(outputStream* st) const;
 243 };
 244 




 204   // Transfer ownership of comments to this CodeBlob
 205   void set_strings(CodeStrings& strings) {
 206     _strings.assign(strings);
 207   }
 208 };
 209 
 210 
 211 //----------------------------------------------------------------------------------------------------
 212 // BufferBlob: used to hold non-relocatable machine code such as the interpreter, stubroutines, etc.
 213 
 214 class BufferBlob: public CodeBlob {
 215   friend class VMStructs;
 216   friend class AdapterBlob;
 217   friend class MethodHandlesAdapterBlob;
 218 
 219  private:
 220   // Creation support
 221   BufferBlob(const char* name, int size);
 222   BufferBlob(const char* name, int size, CodeBuffer* cb);
 223 
 224   void* operator new(size_t s, unsigned size) throw();
 225 
 226  public:
 227   // Creation
 228   static BufferBlob* create(const char* name, int buffer_size);
 229   static BufferBlob* create(const char* name, CodeBuffer* cb);
 230 
 231   static void free(BufferBlob* buf);
 232 
 233   // Typing
 234   virtual bool is_buffer_blob() const            { return true; }
 235 
 236   // GC/Verification support
 237   void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f)  { /* nothing to do */ }
 238   bool is_alive() const                          { return true; }
 239 
 240   void verify();
 241   void print_on(outputStream* st) const;
 242   void print_value_on(outputStream* st) const;
 243 };
 244 


src/share/vm/code/codeBlob.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File