< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page

        

*** 373,394 **** // debug support for checking if code does allow safepoints or not // GC points in the VM can happen because of allocation, invoking a VM operation, or blocking on // mutex, or blocking on an object synchronizer (Java locking). // If !allow_safepoint(), then an assertion failure will happen in any of the above cases - // If !allow_allocation(), then an assertion failure will happen during allocation - // (Hence, !allow_safepoint() => !allow_allocation()). // ! // The two classes NoSafepointVerifier and No_Allocation_Verifier are used to set these counters. // NOT_PRODUCT(int _allow_safepoint_count;) // If 0, thread allow a safepoint to happen - debug_only(int _allow_allocation_count;) // If 0, the thread is allowed to allocate oops. // Used by SkipGCALot class. NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? - friend class NoAllocVerifier; friend class NoSafepointVerifier; friend class PauseNoSafepointVerifier; friend class GCLocker; volatile void* _polling_page; // Thread local polling page --- 373,390 ---- // debug support for checking if code does allow safepoints or not // GC points in the VM can happen because of allocation, invoking a VM operation, or blocking on // mutex, or blocking on an object synchronizer (Java locking). // If !allow_safepoint(), then an assertion failure will happen in any of the above cases // ! // The class NoSafepointVerifier is used to set these counters. // NOT_PRODUCT(int _allow_safepoint_count;) // If 0, thread allow a safepoint to happen // Used by SkipGCALot class. NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? friend class NoSafepointVerifier; friend class PauseNoSafepointVerifier; friend class GCLocker; volatile void* _polling_page; // Thread local polling page
*** 752,762 **** Monitor* owned_locks() const { return _owned_locks; } bool owns_locks() const { return owned_locks() != NULL; } bool owns_locks_but_compiled_lock() const; // Deadlock detection - bool allow_allocation() { return _allow_allocation_count == 0; } ResourceMark* current_resource_mark() { return _current_resource_mark; } void set_current_resource_mark(ResourceMark* rm) { _current_resource_mark = rm; } #endif void check_for_valid_safepoint_state(bool potential_vm_operation) PRODUCT_RETURN; --- 748,757 ----
< prev index next >