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