src/share/vm/code/nmethod.hpp

Print this page




 251   nmethod(Method* method,
 252           int nmethod_size,
 253           int compile_id,
 254           int entry_bci,
 255           CodeOffsets* offsets,
 256           int orig_pc_offset,
 257           DebugInformationRecorder *recorder,
 258           Dependencies* dependencies,
 259           CodeBuffer *code_buffer,
 260           int frame_size,
 261           OopMapSet* oop_maps,
 262           ExceptionHandlerTable* handler_table,
 263           ImplicitExceptionTable* nul_chk_table,
 264           AbstractCompiler* compiler,
 265           int comp_level);
 266 
 267   // helper methods
 268   void* operator new(size_t size, int nmethod_size);
 269 
 270   const char* reloc_string_for(u_char* begin, u_char* end);
 271   // Returns true if this thread changed the state of the nmethod or
 272   // false if another thread performed the transition.
 273   bool make_not_entrant_or_zombie(unsigned int state);
 274   void inc_decompile_count();
 275 
 276   // Used to manipulate the exception cache
 277   void add_exception_cache_entry(ExceptionCache* new_entry);
 278   ExceptionCache* exception_cache_entry_for_exception(Handle exception);
 279 
 280   // Inform external interfaces that a compiled method has been unloaded
 281   void post_compiled_method_unload();
 282 
 283   // Initailize fields to their default values
 284   void init_defaults();
 285 
 286  public:
 287   // create nmethod with entry_bci
 288   static nmethod* new_nmethod(methodHandle method,
 289                               int compile_id,
 290                               int entry_bci,
 291                               CodeOffsets* offsets,
 292                               int orig_pc_offset,
 293                               DebugInformationRecorder* recorder,




 251   nmethod(Method* method,
 252           int nmethod_size,
 253           int compile_id,
 254           int entry_bci,
 255           CodeOffsets* offsets,
 256           int orig_pc_offset,
 257           DebugInformationRecorder *recorder,
 258           Dependencies* dependencies,
 259           CodeBuffer *code_buffer,
 260           int frame_size,
 261           OopMapSet* oop_maps,
 262           ExceptionHandlerTable* handler_table,
 263           ImplicitExceptionTable* nul_chk_table,
 264           AbstractCompiler* compiler,
 265           int comp_level);
 266 
 267   // helper methods
 268   void* operator new(size_t size, int nmethod_size);
 269 
 270   const char* reloc_string_for(u_char* begin, u_char* end);
 271   // Returns true if the state of the nmethod after the function call
 272   // is 'new_state'.
 273   bool make_not_entrant_or_zombie(unsigned int new_state);
 274   void inc_decompile_count();
 275 
 276   // Used to manipulate the exception cache
 277   void add_exception_cache_entry(ExceptionCache* new_entry);
 278   ExceptionCache* exception_cache_entry_for_exception(Handle exception);
 279 
 280   // Inform external interfaces that a compiled method has been unloaded
 281   void post_compiled_method_unload();
 282 
 283   // Initailize fields to their default values
 284   void init_defaults();
 285 
 286  public:
 287   // create nmethod with entry_bci
 288   static nmethod* new_nmethod(methodHandle method,
 289                               int compile_id,
 290                               int entry_bci,
 291                               CodeOffsets* offsets,
 292                               int orig_pc_offset,
 293                               DebugInformationRecorder* recorder,