< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page
rev 60137 : 8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents
Reviewed-by: mdoerr, goetz
rev 60138 : 8227745: delta webrev.5 -> webrev.6

@@ -79,11 +79,10 @@
 class vframe;
 class javaVFrame;
 
 class DeoptResourceMark;
 class JvmtiDeferredUpdates;
-class jvmtiDeferredLocalVariableSet;
 
 class ThreadClosure;
 class ICRefillVerifier;
 class IdealGraphPrinter;
 

@@ -290,11 +289,11 @@
 
     _has_async_exception    = 0x00000001U, // there is a pending async exception
     _critical_native_unlock = 0x00000002U, // Must call back to unlock JNI critical lock
 
     _trace_flag             = 0x00000004U, // call tracing backend
-    _ea_obj_deopt           = 0x00000008U  // suspend for object reallocation and relocking for JVMTI agent
+    _obj_deopt              = 0x00000008U  // suspend for object reallocation and relocking for JVMTI agent
   };
 
   // various suspension related flags - atomically updated
   // overloaded for async exception checking in check_special_condition_for_native_trans.
   volatile uint32_t _suspend_flags;

@@ -541,12 +540,12 @@
   inline void clear_critical_native_unlock();
 
   inline void set_trace_flag();
   inline void clear_trace_flag();
 
-  inline void set_ea_obj_deopt_flag();
-  inline void clear_ea_obj_deopt_flag();
+  inline void set_obj_deopt_flag();
+  inline void clear_obj_deopt_flag();
 
   // Support for Unhandled Oop detection
   // Add the field for both, fastdebug and debug, builds to keep
   // Thread's fields layout the same.
   // Note: CHECK_UNHANDLED_OOPS is defined only for fastdebug build.

@@ -618,11 +617,11 @@
 
   JFR_ONLY(DEFINE_THREAD_LOCAL_ACCESSOR_JFR;)
 
   bool is_trace_suspend()               { return (_suspend_flags & _trace_flag) != 0; }
 
-  bool is_ea_obj_deopt_suspend()        { return (_suspend_flags & _ea_obj_deopt) != 0; }
+  bool is_obj_deopt_suspend()           { return (_suspend_flags & _obj_deopt) != 0; }
 
   // VM operation support
   int vm_operation_ticket()                      { return ++_vm_operation_started_count; }
   int vm_operation_completed_count()             { return _vm_operation_completed_count; }
   void increment_vm_operation_completed_count()  { _vm_operation_completed_count++; }

@@ -1444,11 +1443,11 @@
     return (_suspend_flags & _external_suspend) != 0;
   }
   // Whenever a thread transitions from native to vm/java it must suspend
   // if external|deopt suspend is present.
   bool is_suspend_after_native() const {
-    return (_suspend_flags & (_external_suspend | _ea_obj_deopt JFR_ONLY(| _trace_flag))) != 0;
+    return (_suspend_flags & (_external_suspend | _obj_deopt JFR_ONLY(| _trace_flag))) != 0;
   }
 
   // external suspend request is completed
   bool is_ext_suspended() const {
     return (_suspend_flags & _ext_suspended) != 0;

@@ -1517,11 +1516,11 @@
     // we will see the new flag value the next time through. It's also
     // possible that the external suspend request is dropped after
     // we have checked is_external_suspend(), we will recheck its value
     // under SR_lock in java_suspend_self().
     return (_special_runtime_exit_condition != _no_async_condition) ||
-            is_external_suspend() || is_trace_suspend() || is_ea_obj_deopt_suspend();
+            is_external_suspend() || is_trace_suspend() || is_obj_deopt_suspend();
   }
 
   void set_pending_unsafe_access_error()          { _special_runtime_exit_condition = _async_unsafe_access_error; }
 
   inline void set_pending_async_exception(oop e);
< prev index next >