src/hotspot/share/runtime/thread.hpp
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File
*** old/src/hotspot/share/runtime/thread.hpp Thu Mar 28 11:23:23 2019
--- new/src/hotspot/share/runtime/thread.hpp Thu Mar 28 11:23:23 2019
*** 86,95 ****
--- 86,98 ----
class GCTaskQueue;
class ThreadClosure;
class ICRefillVerifier;
class IdealGraphPrinter;
+ class JVMCIEnv;
+ class JVMCIPrimitiveArray;
+
class Metadata;
class ResourceArea;
DEBUG_ONLY(class ResourceMark;)
*** 1126,1145 ****
--- 1129,1148 ----
bool _pending_monitorenter;
// Specifies if the DeoptReason for the last uncommon trap was Reason_transfer_to_interpreter
bool _pending_transfer_to_interpreter;
- // Guard for re-entrant call to JVMCIRuntime::adjust_comp_level
bool _adjusting_comp_level;
// True if in a runtime call from compiled code that will deoptimize
// and re-execute a failed heap allocation in the interpreter.
bool _in_retryable_allocation;
// An id of a speculation that JVMCI compiled code can use to further describe and
// uniquely identify the speculative optimization guarded by the uncommon trap
! long _pending_failed_speculation;
! jlong _pending_failed_speculation;
// These fields are mutually exclusive in terms of live ranges.
union {
// Communicates the pc at which the most recent implicit exception occurred
// from the signal handler to a deoptimization stub.
*** 1152,1162 ****
--- 1155,1165 ----
// Support for high precision, thread sensitive counters in JVMCI compiled code.
jlong* _jvmci_counters;
public:
static jlong* _jvmci_old_thread_counters;
! static void collect_counters(typeArrayOop array);
! static void collect_counters(JVMCIEnv* JVMCIENV, JVMCIPrimitiveArray array);
private:
#endif // INCLUDE_JVMCI
StackGuardState _stack_guard_state;
*** 1538,1554 ****
--- 1541,1557 ----
MemRegion deferred_card_mark() const { return _deferred_card_mark; }
void set_deferred_card_mark(MemRegion mr) { _deferred_card_mark = mr; }
#if INCLUDE_JVMCI
int pending_deoptimization() const { return _pending_deoptimization; }
! long pending_failed_speculation() const { return _pending_failed_speculation; }
! jlong pending_failed_speculation() const { return _pending_failed_speculation; }
bool adjusting_comp_level() const { return _adjusting_comp_level; }
void set_adjusting_comp_level(bool b) { _adjusting_comp_level = b; }
bool has_pending_monitorenter() const { return _pending_monitorenter; }
void set_pending_monitorenter(bool b) { _pending_monitorenter = b; }
void set_pending_deoptimization(int reason) { _pending_deoptimization = reason; }
! void set_pending_failed_speculation(jlong failed_speculation) { _pending_failed_speculation = failed_speculation; }
void set_pending_transfer_to_interpreter(bool b) { _pending_transfer_to_interpreter = b; }
void set_jvmci_alternate_call_target(address a) { assert(_jvmci._alternate_call_target == NULL, "must be"); _jvmci._alternate_call_target = a; }
void set_jvmci_implicit_exception_pc(address a) { assert(_jvmci._implicit_exception_pc == NULL, "must be"); _jvmci._implicit_exception_pc = a; }
virtual bool in_retryable_allocation() const { return _in_retryable_allocation; }
src/hotspot/share/runtime/thread.hpp
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File