< prev index next >

src/hotspot/share/code/nmethod.hpp


239   static nmethod* new_nmethod(const methodHandle& method,                                                                            
240                               int compile_id,                                                                                        
241                               int entry_bci,                                                                                         
242                               CodeOffsets* offsets,                                                                                  
243                               int orig_pc_offset,                                                                                    
244                               DebugInformationRecorder* recorder,                                                                    
245                               Dependencies* dependencies,                                                                            
246                               CodeBuffer *code_buffer,                                                                               
247                               int frame_size,                                                                                        
248                               OopMapSet* oop_maps,                                                                                   
249                               ExceptionHandlerTable* handler_table,                                                                  
250                               ImplicitExceptionTable* nul_chk_table,                                                                 
251                               AbstractCompiler* compiler,                                                                            
252                               int comp_level                                                                                         
253 #if INCLUDE_JVMCI                                                                                                                    
254                               , jweak installed_code = NULL,                                                                         
255                               jweak speculation_log = NULL                                                                           
256 #endif                                                                                                                               
257   );                                                                                                                                 
258 
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
259   static nmethod* new_native_nmethod(const methodHandle& method,                                                                     
260                                      int compile_id,                                                                                 
261                                      CodeBuffer *code_buffer,                                                                        
262                                      int vep_offset,                                                                                 
263                                      int frame_complete,                                                                             
264                                      int frame_size,                                                                                 
265                                      ByteSize receiver_sp_offset,                                                                    
266                                      ByteSize basic_lock_sp_offset,                                                                  
267                                      OopMapSet* oop_maps);                                                                           
268 
269   // type info                                                                                                                       
270   bool is_nmethod() const                         { return true; }                                                                   
271   bool is_osr_method() const                      { return _entry_bci != InvocationEntryBci; }                                       
272 
273   // boundaries for different parts                                                                                                  
274   address consts_begin          () const          { return           header_begin() + _consts_offset        ; }                      
275   address consts_end            () const          { return           code_begin()                           ; }                      
276   address stub_begin            () const          { return           header_begin() + _stub_offset          ; }                      
277   address stub_end              () const          { return           header_begin() + _oops_offset          ; }                      

239   static nmethod* new_nmethod(const methodHandle& method,
240                               int compile_id,
241                               int entry_bci,
242                               CodeOffsets* offsets,
243                               int orig_pc_offset,
244                               DebugInformationRecorder* recorder,
245                               Dependencies* dependencies,
246                               CodeBuffer *code_buffer,
247                               int frame_size,
248                               OopMapSet* oop_maps,
249                               ExceptionHandlerTable* handler_table,
250                               ImplicitExceptionTable* nul_chk_table,
251                               AbstractCompiler* compiler,
252                               int comp_level
253 #if INCLUDE_JVMCI
254                               , jweak installed_code = NULL,
255                               jweak speculation_log = NULL
256 #endif
257   );
258 
259   // Only used for unit tests.
260   nmethod()
261     : CompiledMethod(),
262       _is_unloading_state(0),
263       _native_receiver_sp_offset(in_ByteSize(-1)),
264       _native_basic_lock_sp_offset(in_ByteSize(-1)) {}
265 
266 
267   static nmethod* new_native_nmethod(const methodHandle& method,
268                                      int compile_id,
269                                      CodeBuffer *code_buffer,
270                                      int vep_offset,
271                                      int frame_complete,
272                                      int frame_size,
273                                      ByteSize receiver_sp_offset,
274                                      ByteSize basic_lock_sp_offset,
275                                      OopMapSet* oop_maps);
276 
277   // type info
278   bool is_nmethod() const                         { return true; }
279   bool is_osr_method() const                      { return _entry_bci != InvocationEntryBci; }
280 
281   // boundaries for different parts
282   address consts_begin          () const          { return           header_begin() + _consts_offset        ; }
283   address consts_end            () const          { return           code_begin()                           ; }
284   address stub_begin            () const          { return           header_begin() + _stub_offset          ; }
285   address stub_end              () const          { return           header_begin() + _oops_offset          ; }
< prev index next >