Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/thread.hpp @ 17876:9c3dc501b5eb
8028498: runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java asserts in RT_Baseline
Summary: Preventing GCs to occur before VM is completely initialized. This was previously partly done by one part of the GC locker which not was removed.
Reviewed-by: coleenp, pliden
author | sjohanss |
---|---|
date | Thu, 13 Feb 2014 10:05:03 +0100 |
parents | 8847586c9037 |
children | 78bbf4d43a14 |
comparison
equal
deleted
inserted
replaced
17875:cb1b723cbca8 | 17876:9c3dc501b5eb |
---|---|
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; } |