< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page




1135   // An id of a speculation that JVMCI compiled code can use to further describe and
1136   // uniquely identify the  speculative optimization guarded by the uncommon trap
1137   jlong     _pending_failed_speculation;
1138 
1139   // These fields are mutually exclusive in terms of live ranges.
1140   union {
1141     // Communicates the pc at which the most recent implicit exception occurred
1142     // from the signal handler to a deoptimization stub.
1143     address   _implicit_exception_pc;
1144 
1145     // Communicates an alternative call target to an i2c stub from a JavaCall .
1146     address   _alternate_call_target;
1147   } _jvmci;
1148 
1149   // Support for high precision, thread sensitive counters in JVMCI compiled code.
1150   jlong*    _jvmci_counters;
1151 
1152  public:
1153   static jlong* _jvmci_old_thread_counters;
1154   static void collect_counters(jlong* array, int length);
1155 
1156   bool resize_counters(int current_size, int new_size);
1157 
1158   static bool resize_all_jvmci_counters(int new_size);
1159 
1160  private:
1161 #endif // INCLUDE_JVMCI
1162 
1163   StackGuardState  _stack_guard_state;
1164 
1165   // Precompute the limit of the stack as used in stack overflow checks.
1166   // We load it from here to simplify the stack overflow check in assembly.
1167   address          _stack_overflow_limit;
1168   address          _reserved_stack_activation;
1169 
1170   // Compiler exception handling (NOTE: The _exception_oop is *NOT* the same as _pending_exception. It is
1171   // used to temp. parsing values into and out of the runtime system during exception handling for compiled
1172   // code)
1173   volatile oop     _exception_oop;               // Exception thrown in compiled code
1174   volatile address _exception_pc;                // PC where exception happened
1175   volatile address _exception_handler_pc;        // PC for handler of exception
1176   volatile int     _is_method_handle_return;     // true (== 1) if the current exception PC is a MethodHandle call site.
1177 
1178  private:
1179   // support for JNI critical regions




1135   // An id of a speculation that JVMCI compiled code can use to further describe and
1136   // uniquely identify the  speculative optimization guarded by the uncommon trap
1137   jlong     _pending_failed_speculation;
1138 
1139   // These fields are mutually exclusive in terms of live ranges.
1140   union {
1141     // Communicates the pc at which the most recent implicit exception occurred
1142     // from the signal handler to a deoptimization stub.
1143     address   _implicit_exception_pc;
1144 
1145     // Communicates an alternative call target to an i2c stub from a JavaCall .
1146     address   _alternate_call_target;
1147   } _jvmci;
1148 
1149   // Support for high precision, thread sensitive counters in JVMCI compiled code.
1150   jlong*    _jvmci_counters;
1151 
1152  public:
1153   static jlong* _jvmci_old_thread_counters;
1154   static void collect_counters(jlong* array, int length);





1155  private:
1156 #endif // INCLUDE_JVMCI
1157 
1158   StackGuardState  _stack_guard_state;
1159 
1160   // Precompute the limit of the stack as used in stack overflow checks.
1161   // We load it from here to simplify the stack overflow check in assembly.
1162   address          _stack_overflow_limit;
1163   address          _reserved_stack_activation;
1164 
1165   // Compiler exception handling (NOTE: The _exception_oop is *NOT* the same as _pending_exception. It is
1166   // used to temp. parsing values into and out of the runtime system during exception handling for compiled
1167   // code)
1168   volatile oop     _exception_oop;               // Exception thrown in compiled code
1169   volatile address _exception_pc;                // PC where exception happened
1170   volatile address _exception_handler_pc;        // PC for handler of exception
1171   volatile int     _is_method_handle_return;     // true (== 1) if the current exception PC is a MethodHandle call site.
1172 
1173  private:
1174   // support for JNI critical regions


< prev index next >