194 _external_suspend = 0x20000000U, // thread is asked to self suspend |
194 _external_suspend = 0x20000000U, // thread is asked to self suspend |
195 _ext_suspended = 0x40000000U, // thread has self-suspended |
195 _ext_suspended = 0x40000000U, // thread has self-suspended |
196 _deopt_suspend = 0x10000000U, // thread needs to self suspend for deopt |
196 _deopt_suspend = 0x10000000U, // thread needs to self suspend for deopt |
197 |
197 |
198 _has_async_exception = 0x00000001U, // there is a pending async exception |
198 _has_async_exception = 0x00000001U, // there is a pending async exception |
199 _critical_native_unlock = 0x00000002U // Must call back to unlock JNI critical lock |
199 _critical_native_unlock = 0x00000002U, // Must call back to unlock JNI critical lock |
|
200 |
|
201 JFR_ONLY(_trace_flag = 0x00000004U) // call jfr tracing |
200 }; |
202 }; |
201 |
203 |
202 // various suspension related flags - atomically updated |
204 // various suspension related flags - atomically updated |
203 // overloaded for async exception checking in check_special_condition_for_native_trans. |
205 // overloaded for async exception checking in check_special_condition_for_native_trans. |
204 volatile uint32_t _suspend_flags; |
206 volatile uint32_t _suspend_flags; |
441 void set_allocated_bytes(jlong value) { _allocated_bytes = value; } |
443 void set_allocated_bytes(jlong value) { _allocated_bytes = value; } |
442 void incr_allocated_bytes(jlong size) { _allocated_bytes += size; } |
444 void incr_allocated_bytes(jlong size) { _allocated_bytes += size; } |
443 inline jlong cooked_allocated_bytes(); |
445 inline jlong cooked_allocated_bytes(); |
444 |
446 |
445 JFR_ONLY(DEFINE_THREAD_LOCAL_ACCESSOR_JFR;) |
447 JFR_ONLY(DEFINE_THREAD_LOCAL_ACCESSOR_JFR;) |
|
448 JFR_ONLY(DEFINE_TRACE_SUSPEND_FLAG_METHODS) |
446 |
449 |
447 const ThreadExt& ext() const { return _ext; } |
450 const ThreadExt& ext() const { return _ext; } |
448 ThreadExt& ext() { return _ext; } |
451 ThreadExt& ext() { return _ext; } |
449 |
452 |
450 // VM operation support |
453 // VM operation support |