src/hotspot/share/code/nmethod.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File open Cdiff src/hotspot/share/code/nmethod.hpp

src/hotspot/share/code/nmethod.hpp

Print this page

        

*** 122,132 **** // used by jvmti to track if an unload event has been posted for this nmethod. bool _unload_reported; // Protected by Patching_lock ! volatile unsigned char _state; // {in_use, not_entrant, zombie, unloaded} #ifdef ASSERT bool _oops_are_stale; // indicates that it's no longer safe to access oops section #endif --- 122,132 ---- // used by jvmti to track if an unload event has been posted for this nmethod. bool _unload_reported; // Protected by Patching_lock ! volatile char _state; // {not_installed, in_use, not_entrant, zombie, unloaded} #ifdef ASSERT bool _oops_are_stale; // indicates that it's no longer safe to access oops section #endif
*** 214,224 **** void* operator new(size_t size, int nmethod_size, int comp_level) throw(); const char* reloc_string_for(u_char* begin, u_char* end); // Returns true if this thread changed the state of the nmethod or // false if another thread performed the transition. ! bool make_not_entrant_or_zombie(unsigned int state); bool make_entrant() { Unimplemented(); return false; } void inc_decompile_count(); // Inform external interfaces that a compiled method has been unloaded void post_compiled_method_unload(); --- 214,224 ---- void* operator new(size_t size, int nmethod_size, int comp_level) throw(); const char* reloc_string_for(u_char* begin, u_char* end); // Returns true if this thread changed the state of the nmethod or // false if another thread performed the transition. ! bool make_not_entrant_or_zombie(int state); bool make_entrant() { Unimplemented(); return false; } void inc_decompile_count(); // Inform external interfaces that a compiled method has been unloaded void post_compiled_method_unload();
*** 314,335 **** // entry points address entry_point() const { return _entry_point; } // normal entry point address verified_entry_point() const { return _verified_entry_point; } // if klass is correct // flag accessing and manipulation ! bool is_in_use() const { return _state == in_use; } ! bool is_alive() const { unsigned char s = _state; return s < zombie; } bool is_not_entrant() const { return _state == not_entrant; } bool is_zombie() const { return _state == zombie; } bool is_unloaded() const { return _state == unloaded; } #if INCLUDE_RTM_OPT // rtm state accessing and manipulating RTMState rtm_state() const { return _rtm_state; } void set_rtm_state(RTMState state) { _rtm_state = state; } #endif // Make the nmethod non entrant. The nmethod will continue to be // alive. It is used when an uncommon trap happens. Returns true // if this thread changed the state of the nmethod or false if // another thread performed the transition. bool make_not_entrant() { --- 314,337 ---- // entry points address entry_point() const { return _entry_point; } // normal entry point address verified_entry_point() const { return _verified_entry_point; } // if klass is correct // flag accessing and manipulation ! bool is_not_installed() const { return _state == not_installed; } ! bool is_in_use() const { return _state <= in_use; } ! bool is_alive() const { return _state < zombie; } bool is_not_entrant() const { return _state == not_entrant; } bool is_zombie() const { return _state == zombie; } bool is_unloaded() const { return _state == unloaded; } #if INCLUDE_RTM_OPT // rtm state accessing and manipulating RTMState rtm_state() const { return _rtm_state; } void set_rtm_state(RTMState state) { _rtm_state = state; } #endif + void make_in_use() { _state = in_use; } // Make the nmethod non entrant. The nmethod will continue to be // alive. It is used when an uncommon trap happens. Returns true // if this thread changed the state of the nmethod or false if // another thread performed the transition. bool make_not_entrant() {
src/hotspot/share/code/nmethod.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File