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
|