< prev index next >

src/share/vm/memory/gcLocker.hpp

Print this page

        

*** 222,247 **** Thread *_thread; public: #ifdef ASSERT No_Safepoint_Verifier(bool activated = true, bool verifygc = true ) : No_GC_Verifier(verifygc), ! _activated(activated) { _thread = Thread::current(); ! if (_activated) { _thread->_allow_allocation_count++; _thread->_allow_safepoint_count++; } } ~No_Safepoint_Verifier() { if (_activated) { ! _thread->_allow_allocation_count--; ! _thread->_allow_safepoint_count--; } } #else No_Safepoint_Verifier(bool activated = true, bool verifygc = true) : No_GC_Verifier(verifygc){} ~No_Safepoint_Verifier() {} #endif }; // A Pause_No_Safepoint_Verifier is used to temporarily pause the --- 222,261 ---- Thread *_thread; public: #ifdef ASSERT No_Safepoint_Verifier(bool activated = true, bool verifygc = true ) : No_GC_Verifier(verifygc), ! _activated(false) { _thread = Thread::current(); ! if (activated) { ! enable(); ! } ! } ! ! void enable() { ! assert(!_activated, "expected"); _thread->_allow_allocation_count++; _thread->_allow_safepoint_count++; + _activated = true; } + + void disable() { + assert(_activated, "expected"); + _thread->_allow_allocation_count--; + _thread->_allow_safepoint_count--; + _activated = false; } ~No_Safepoint_Verifier() { if (_activated) { ! disable(); } } #else No_Safepoint_Verifier(bool activated = true, bool verifygc = true) : No_GC_Verifier(verifygc){} + void enable() {} + void disable() {} ~No_Safepoint_Verifier() {} #endif }; // A Pause_No_Safepoint_Verifier is used to temporarily pause the
< prev index next >