< prev index next >

src/hotspot/share/code/nmethod.hpp


359   // used by jvmti to track if the unload event has been reported                                                                    
360   bool  unload_reported()                         { return _unload_reported; }                                                       
361   void  set_unload_reported()                     { _unload_reported = true; }                                                       
362 
363   int get_state() const {                                                                                                            
364     return _state;                                                                                                                   
365   }                                                                                                                                  
366 
367   void  make_unloaded();                                                                                                             
368 
369   bool has_dependencies()                         { return dependencies_size() != 0; }                                               
370   void flush_dependencies(bool delete_immediately);                                                                                  
371   bool has_flushed_dependencies()                 { return _has_flushed_dependencies; }                                              
372   void set_has_flushed_dependencies()             {                                                                                  
373     assert(!has_flushed_dependencies(), "should only happen once");                                                                  
374     _has_flushed_dependencies = 1;                                                                                                   
375   }                                                                                                                                  
376 
377   int   comp_level() const                        { return _comp_level; }                                                            
378 
                                                                                                                                     
                                                                                                                                     
379   // Support for oops in scopes and relocs:                                                                                          
380   // Note: index 0 is reserved for null.                                                                                             
381   oop   oop_at(int index) const;                                                                                                     
382   oop*  oop_addr_at(int index) const {  // for GC                                                                                    
383     // relocation indexes are biased by 1 (because 0 is reserved)                                                                    
384     assert(index > 0 && index <= oops_count(), "must be a valid non-zero index");                                                    
385     assert(!_oops_are_stale, "oops are stale");                                                                                      
386     return &oops_begin()[index - 1];                                                                                                 
387   }                                                                                                                                  
388 
389   // Support for meta data in scopes and relocs:                                                                                     
390   // Note: index 0 is reserved for null.                                                                                             
391   Metadata*     metadata_at(int index) const      { return index == 0 ? NULL: *metadata_addr_at(index); }                            
392   Metadata**  metadata_addr_at(int index) const {  // for GC                                                                         
393     // relocation indexes are biased by 1 (because 0 is reserved)                                                                    
394     assert(index > 0 && index <= metadata_count(), "must be a valid non-zero index");                                                
395     return &metadata_begin()[index - 1];                                                                                             
396   }                                                                                                                                  
397 

359   // used by jvmti to track if the unload event has been reported
360   bool  unload_reported()                         { return _unload_reported; }
361   void  set_unload_reported()                     { _unload_reported = true; }
362 
363   int get_state() const {
364     return _state;
365   }
366 
367   void  make_unloaded();
368 
369   bool has_dependencies()                         { return dependencies_size() != 0; }
370   void flush_dependencies(bool delete_immediately);
371   bool has_flushed_dependencies()                 { return _has_flushed_dependencies; }
372   void set_has_flushed_dependencies()             {
373     assert(!has_flushed_dependencies(), "should only happen once");
374     _has_flushed_dependencies = 1;
375   }
376 
377   int   comp_level() const                        { return _comp_level; }
378 
379   void unlink_from_method(bool acquire_lock);
380 
381   // Support for oops in scopes and relocs:
382   // Note: index 0 is reserved for null.
383   oop   oop_at(int index) const;
384   oop*  oop_addr_at(int index) const {  // for GC
385     // relocation indexes are biased by 1 (because 0 is reserved)
386     assert(index > 0 && index <= oops_count(), "must be a valid non-zero index");
387     assert(!_oops_are_stale, "oops are stale");
388     return &oops_begin()[index - 1];
389   }
390 
391   // Support for meta data in scopes and relocs:
392   // Note: index 0 is reserved for null.
393   Metadata*     metadata_at(int index) const      { return index == 0 ? NULL: *metadata_addr_at(index); }
394   Metadata**  metadata_addr_at(int index) const {  // for GC
395     // relocation indexes are biased by 1 (because 0 is reserved)
396     assert(index > 0 && index <= metadata_count(), "must be a valid non-zero index");
397     return &metadata_begin()[index - 1];
398   }
399 
< prev index next >