--- old/src/share/vm/code/nmethod.hpp 2014-09-09 08:48:31.684282274 +0200 +++ new/src/share/vm/code/nmethod.hpp 2014-09-09 08:48:31.440282267 +0200 @@ -202,13 +202,6 @@ bool _oops_are_stale; // indicates that it's no longer safe to access oops section #endif - enum { in_use = 0, // executable nmethod - not_entrant = 1, // marked for deoptimization but activations may still exist, - // will be transformed to zombie when all activations are gone - zombie = 2, // no activations exist, nmethod is ready for purge - unloaded = 3 }; // there should be no activations, should not be called, - // will be transformed to zombie immediately - jbyte _scavenge_root_state; #if INCLUDE_RTM_OPT @@ -431,6 +424,13 @@ address entry_point() const { return _entry_point; } // normal entry point address verified_entry_point() const { return _verified_entry_point; } // if klass is correct + enum { in_use = 0, // executable nmethod + not_entrant = 1, // marked for deoptimization but activations may still exist, + // will be transformed to zombie when all activations are gone + zombie = 2, // no activations exist, nmethod is ready for purge + unloaded = 3 }; // there should be no activations, should not be called, + // will be transformed to zombie immediately + // flag accessing and manipulation bool is_in_use() const { return _state == in_use; } bool is_alive() const { return _state == in_use || _state == not_entrant; } @@ -756,7 +756,7 @@ // support for code generation static int verified_entry_point_offset() { return offset_of(nmethod, _verified_entry_point); } static int osr_entry_point_offset() { return offset_of(nmethod, _osr_entry_point); } - static int entry_bci_offset() { return offset_of(nmethod, _entry_bci); } + static int state_offset() { return offset_of(nmethod, _state); } // RedefineClasses support. Mark metadata in nmethods as on_stack so that // redefine classes doesn't purge it.