src/share/vm/code/nmethod.hpp

changeset 6429
606acabe7b5c
parent 6172
df832bd8edb9
child 6876
710a3c8b516e
child 6941
63e0c47ca943
     1.1 --- a/src/share/vm/code/nmethod.hpp	Sat Mar 22 00:26:48 2014 +0400
     1.2 +++ b/src/share/vm/code/nmethod.hpp	Thu Mar 20 17:49:27 2014 -0700
     1.3 @@ -193,6 +193,12 @@
     1.4  
     1.5    jbyte _scavenge_root_state;
     1.6  
     1.7 +#if INCLUDE_RTM_OPT
     1.8 +  // RTM state at compile time. Used during deoptimization to decide
     1.9 +  // whether to restart collecting RTM locking abort statistic again.
    1.10 +  RTMState _rtm_state;
    1.11 +#endif
    1.12 +
    1.13    // Nmethod Flushing lock. If non-zero, then the nmethod is not removed
    1.14    // and is not made into a zombie. However, once the nmethod is made into
    1.15    // a zombie, it will be locked one final time if CompiledMethodUnload
    1.16 @@ -414,6 +420,12 @@
    1.17    bool  is_zombie() const                         { return _state == zombie; }
    1.18    bool  is_unloaded() const                       { return _state == unloaded;   }
    1.19  
    1.20 +#if INCLUDE_RTM_OPT
    1.21 +  // rtm state accessing and manipulating
    1.22 +  RTMState  rtm_state() const                     { return _rtm_state; }
    1.23 +  void set_rtm_state(RTMState state)              { _rtm_state = state; }
    1.24 +#endif
    1.25 +
    1.26    // Make the nmethod non entrant. The nmethod will continue to be
    1.27    // alive.  It is used when an uncommon trap happens.  Returns true
    1.28    // if this thread changed the state of the nmethod or false if

mercurial