354 public: 355 void set_last_handle_mark(HandleMark* mark) { _last_handle_mark = mark; } 356 HandleMark* last_handle_mark() const { return _last_handle_mark; } 357 private: 358 359 #ifdef ASSERT 360 ICRefillVerifier* _missed_ic_stub_refill_verifier; 361 362 public: 363 ICRefillVerifier* missed_ic_stub_refill_verifier() { 364 return _missed_ic_stub_refill_verifier; 365 } 366 367 void set_missed_ic_stub_refill_verifier(ICRefillVerifier* verifier) { 368 _missed_ic_stub_refill_verifier = verifier; 369 } 370 #endif 371 372 private: 373 374 // debug support for checking if code does allow safepoints or not 375 // GC points in the VM can happen because of allocation, invoking a VM operation, or blocking on 376 // mutex, or blocking on an object synchronizer (Java locking). 377 // If !allow_safepoint(), then an assertion failure will happen in any of the above cases 378 // 379 // The class NoSafepointVerifier is used to set this counter. 380 // 381 NOT_PRODUCT(int _allow_safepoint_count;) // If 0, thread allow a safepoint to happen 382 383 // Used by SkipGCALot class. 384 NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? 385 386 friend class NoSafepointVerifier; 387 friend class PauseNoSafepointVerifier; 388 friend class GCLocker; 389 390 volatile void* _polling_page; // Thread local polling page 391 392 ThreadLocalAllocBuffer _tlab; // Thread-local eden 393 jlong _allocated_bytes; // Cumulative number of bytes allocated on 394 // the Java heap 395 ThreadHeapSampler _heap_sampler; // For use when sampling the memory. 396 397 ThreadStatisticalInfo _statistical_info; // Statistics about the thread 398 399 JFR_ONLY(DEFINE_THREAD_LOCAL_FIELD_JFR;) // Thread-local data for jfr 400 401 int _vm_operation_started_count; // VM_Operation support | 354 public: 355 void set_last_handle_mark(HandleMark* mark) { _last_handle_mark = mark; } 356 HandleMark* last_handle_mark() const { return _last_handle_mark; } 357 private: 358 359 #ifdef ASSERT 360 ICRefillVerifier* _missed_ic_stub_refill_verifier; 361 362 public: 363 ICRefillVerifier* missed_ic_stub_refill_verifier() { 364 return _missed_ic_stub_refill_verifier; 365 } 366 367 void set_missed_ic_stub_refill_verifier(ICRefillVerifier* verifier) { 368 _missed_ic_stub_refill_verifier = verifier; 369 } 370 #endif 371 372 private: 373 374 // Debug support for checking if code allows safepoints or not. 375 // Safepoints in the VM can happen because of allocation, invoking a VM operation, or blocking on 376 // mutex, or blocking on an object synchronizer (Java locking). 377 // If _no_safepoint_count is non-zero, then an assertion failure will happen in any of 378 // the above cases. 379 // 380 // The class NoSafepointVerifier is used to set this counter. 381 // 382 NOT_PRODUCT(int _no_safepoint_count;) // If 0, thread allow a safepoint to happen 383 384 // Used by SkipGCALot class. 385 NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? 386 387 friend class NoSafepointVerifier; 388 friend class PauseNoSafepointVerifier; 389 friend class GCLocker; 390 391 volatile void* _polling_page; // Thread local polling page 392 393 ThreadLocalAllocBuffer _tlab; // Thread-local eden 394 jlong _allocated_bytes; // Cumulative number of bytes allocated on 395 // the Java heap 396 ThreadHeapSampler _heap_sampler; // For use when sampling the memory. 397 398 ThreadStatisticalInfo _statistical_info; // Statistics about the thread 399 400 JFR_ONLY(DEFINE_THREAD_LOCAL_FIELD_JFR;) // Thread-local data for jfr 401 402 int _vm_operation_started_count; // VM_Operation support |