< prev index next >

src/hotspot/share/code/nmethod.hpp

Print this page
rev 54697 : imported patch 8221734-v2-merge
rev 54698 : imported patch 8221734-v2


 102   int _speculations_offset;
 103   int _jvmci_data_offset;
 104 #endif
 105   int _nmethod_end_offset;
 106 
 107   int code_offset() const { return (address) code_begin() - header_begin(); }
 108 
 109   // location in frame (offset for sp) that deopt can store the original
 110   // pc during a deopt.
 111   int _orig_pc_offset;
 112 
 113   int _compile_id;                           // which compilation made this nmethod
 114   int _comp_level;                           // compilation level
 115 
 116   // protected by CodeCache_lock
 117   bool _has_flushed_dependencies;            // Used for maintenance of dependencies (CodeCache_lock)
 118 
 119   // used by jvmti to track if an unload event has been posted for this nmethod.
 120   bool _unload_reported;
 121 
 122   // Protected by Patching_lock
 123   volatile signed char _state;               // {not_installed, in_use, not_entrant, zombie, unloaded}
 124 
 125 #ifdef ASSERT
 126   bool _oops_are_stale;  // indicates that it's no longer safe to access oops section
 127 #endif
 128 
 129 #if INCLUDE_RTM_OPT
 130   // RTM state at compile time. Used during deoptimization to decide
 131   // whether to restart collecting RTM locking abort statistic again.
 132   RTMState _rtm_state;
 133 #endif
 134 
 135   // Nmethod Flushing lock. If non-zero, then the nmethod is not removed
 136   // and is not made into a zombie. However, once the nmethod is made into
 137   // a zombie, it will be locked one final time if CompiledMethodUnload
 138   // event processing needs to be done.
 139   volatile jint _lock_count;
 140 
 141   // not_entrant method removal. Each mark_sweep pass will update
 142   // this mark to current sweep invocation count if it is seen on the




 102   int _speculations_offset;
 103   int _jvmci_data_offset;
 104 #endif
 105   int _nmethod_end_offset;
 106 
 107   int code_offset() const { return (address) code_begin() - header_begin(); }
 108 
 109   // location in frame (offset for sp) that deopt can store the original
 110   // pc during a deopt.
 111   int _orig_pc_offset;
 112 
 113   int _compile_id;                           // which compilation made this nmethod
 114   int _comp_level;                           // compilation level
 115 
 116   // protected by CodeCache_lock
 117   bool _has_flushed_dependencies;            // Used for maintenance of dependencies (CodeCache_lock)
 118 
 119   // used by jvmti to track if an unload event has been posted for this nmethod.
 120   bool _unload_reported;
 121 
 122   // Protected by CompiledMethod_lock
 123   volatile signed char _state;               // {not_installed, in_use, not_entrant, zombie, unloaded}
 124 
 125 #ifdef ASSERT
 126   bool _oops_are_stale;  // indicates that it's no longer safe to access oops section
 127 #endif
 128 
 129 #if INCLUDE_RTM_OPT
 130   // RTM state at compile time. Used during deoptimization to decide
 131   // whether to restart collecting RTM locking abort statistic again.
 132   RTMState _rtm_state;
 133 #endif
 134 
 135   // Nmethod Flushing lock. If non-zero, then the nmethod is not removed
 136   // and is not made into a zombie. However, once the nmethod is made into
 137   // a zombie, it will be locked one final time if CompiledMethodUnload
 138   // event processing needs to be done.
 139   volatile jint _lock_count;
 140 
 141   // not_entrant method removal. Each mark_sweep pass will update
 142   // this mark to current sweep invocation count if it is seen on the


< prev index next >