< prev index next >

src/hotspot/share/runtime/synchronizer.hpp

Print this page
@@ -27,10 +27,11 @@
  
  #include "memory/padded.hpp"
  #include "oops/markWord.hpp"
  #include "runtime/basicLock.hpp"
  #include "runtime/handles.hpp"
+ #include "runtime/javaThread.hpp"
  #include "utilities/resourceHash.hpp"
  
  template <typename T> class GrowableArray;
  class LogStream;
  class ObjectMonitor;

@@ -124,17 +125,20 @@
    // Used to inflate a monitor as if it was done from the thread JavaThread.
    static ObjectMonitor* inflate_for(JavaThread* thread, oop obj, const InflateCause cause);
  
  private:
    // Shared implementation between the different LockingMode.
-   static ObjectMonitor* inflate_impl(JavaThread* thread, oop obj, const InflateCause cause);
+   static ObjectMonitor* inflate_impl(oop obj, const InflateCause cause);
  
  public:
    // This version is only for internal use
    static void inflate_helper(oop obj);
    static const char* inflate_cause_name(const InflateCause cause);
  
+   static ObjectMonitor* read_monitor(markWord mark);
+   static ObjectMonitor* read_monitor(Thread* current, oop obj, markWord mark);
+ 
    // Returns the identity hash value for an oop
    // NOTE: It may cause monitor inflation
    static intptr_t FastHashCode(Thread* current, oop obj);
  
    // java.lang.Thread support

@@ -192,10 +196,13 @@
    static void do_final_audit_and_print_stats();
    static void log_in_use_monitor_details(outputStream* out, bool log_all);
  
   private:
    friend class SynchronizerTest;
+   friend class LightweightSynchronizer;
+ 
+   static intptr_t get_next_hash(Thread* current, oop obj);
  
    static MonitorList _in_use_list;
    static volatile bool _is_async_deflation_requested;
    static volatile bool _is_final_audit;
    static jlong         _last_async_deflation_time_ns;
< prev index next >