equal
deleted
inserted
replaced
247 debug_only (int _allow_allocation_count;) // If 0, the thread is allowed to allocate oops. |
247 debug_only (int _allow_allocation_count;) // If 0, the thread is allowed to allocate oops. |
248 |
248 |
249 // Used by SkipGCALot class. |
249 // Used by SkipGCALot class. |
250 NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? |
250 NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? |
251 |
251 |
252 // Record when GC is locked out via the GC_locker mechanism |
|
253 CHECK_UNHANDLED_OOPS_ONLY(int _gc_locked_out_count;) |
|
254 |
|
255 friend class No_Alloc_Verifier; |
252 friend class No_Alloc_Verifier; |
256 friend class No_Safepoint_Verifier; |
253 friend class No_Safepoint_Verifier; |
257 friend class Pause_No_Safepoint_Verifier; |
254 friend class Pause_No_Safepoint_Verifier; |
258 friend class ThreadLocalStorage; |
255 friend class ThreadLocalStorage; |
259 friend class GC_locker; |
256 friend class GC_locker; |
395 } |
392 } |
396 // Clear oops at safepoint so crashes point to unhandled oop violator |
393 // Clear oops at safepoint so crashes point to unhandled oop violator |
397 void clear_unhandled_oops() { |
394 void clear_unhandled_oops() { |
398 if (CheckUnhandledOops) unhandled_oops()->clear_unhandled_oops(); |
395 if (CheckUnhandledOops) unhandled_oops()->clear_unhandled_oops(); |
399 } |
396 } |
400 bool is_gc_locked_out() { return _gc_locked_out_count > 0; } |
|
401 #endif // CHECK_UNHANDLED_OOPS |
397 #endif // CHECK_UNHANDLED_OOPS |
402 |
398 |
403 #ifndef PRODUCT |
399 #ifndef PRODUCT |
404 bool skip_gcalot() { return _skip_gcalot; } |
400 bool skip_gcalot() { return _skip_gcalot; } |
405 void set_skip_gcalot(bool v) { _skip_gcalot = v; } |
401 void set_skip_gcalot(bool v) { _skip_gcalot = v; } |