< prev index next >

src/hotspot/share/interpreter/interpreterRuntime.cpp

Print this page
rev 56464 : 8231707: Improve Mutex inlining
Contributed-by: robbin.ehn@oracle.com, claes.redestad@oracle.com


  52 #include "prims/nativeLookup.hpp"
  53 #include "runtime/atomic.hpp"
  54 #include "runtime/biasedLocking.hpp"
  55 #include "runtime/compilationPolicy.hpp"
  56 #include "runtime/deoptimization.hpp"
  57 #include "runtime/fieldDescriptor.inline.hpp"
  58 #include "runtime/frame.inline.hpp"
  59 #include "runtime/handles.inline.hpp"
  60 #include "runtime/icache.hpp"
  61 #include "runtime/interfaceSupport.inline.hpp"
  62 #include "runtime/java.hpp"
  63 #include "runtime/javaCalls.hpp"
  64 #include "runtime/jfieldIDWorkaround.hpp"
  65 #include "runtime/osThread.hpp"
  66 #include "runtime/sharedRuntime.hpp"
  67 #include "runtime/stubRoutines.hpp"
  68 #include "runtime/synchronizer.hpp"
  69 #include "runtime/threadCritical.hpp"
  70 #include "utilities/align.hpp"
  71 #include "utilities/copy.hpp"
  72 #include "utilities/events.hpp"
  73 #ifdef COMPILER2
  74 #include "opto/runtime.hpp"
  75 #endif
  76 
  77 class UnlockFlagSaver {
  78   private:
  79     JavaThread* _thread;
  80     bool _do_not_unlock;
  81   public:
  82     UnlockFlagSaver(JavaThread* t) {
  83       _thread = t;
  84       _do_not_unlock = t->do_not_unlock_if_synchronized();
  85       t->set_do_not_unlock_if_synchronized(false);
  86     }
  87     ~UnlockFlagSaver() {
  88       _thread->set_do_not_unlock_if_synchronized(_do_not_unlock);
  89     }
  90 };
  91 
  92 // Helper class to access current interpreter state




  52 #include "prims/nativeLookup.hpp"
  53 #include "runtime/atomic.hpp"
  54 #include "runtime/biasedLocking.hpp"
  55 #include "runtime/compilationPolicy.hpp"
  56 #include "runtime/deoptimization.hpp"
  57 #include "runtime/fieldDescriptor.inline.hpp"
  58 #include "runtime/frame.inline.hpp"
  59 #include "runtime/handles.inline.hpp"
  60 #include "runtime/icache.hpp"
  61 #include "runtime/interfaceSupport.inline.hpp"
  62 #include "runtime/java.hpp"
  63 #include "runtime/javaCalls.hpp"
  64 #include "runtime/jfieldIDWorkaround.hpp"
  65 #include "runtime/osThread.hpp"
  66 #include "runtime/sharedRuntime.hpp"
  67 #include "runtime/stubRoutines.hpp"
  68 #include "runtime/synchronizer.hpp"
  69 #include "runtime/threadCritical.hpp"
  70 #include "utilities/align.hpp"
  71 #include "utilities/copy.hpp"
  72 #include "utilities/events.inline.hpp"
  73 #ifdef COMPILER2
  74 #include "opto/runtime.hpp"
  75 #endif
  76 
  77 class UnlockFlagSaver {
  78   private:
  79     JavaThread* _thread;
  80     bool _do_not_unlock;
  81   public:
  82     UnlockFlagSaver(JavaThread* t) {
  83       _thread = t;
  84       _do_not_unlock = t->do_not_unlock_if_synchronized();
  85       t->set_do_not_unlock_if_synchronized(false);
  86     }
  87     ~UnlockFlagSaver() {
  88       _thread->set_do_not_unlock_if_synchronized(_do_not_unlock);
  89     }
  90 };
  91 
  92 // Helper class to access current interpreter state


< prev index next >