--- old/src/share/vm/runtime/synchronizer.hpp 2016-10-25 10:40:11.721779210 +0200 +++ new/src/share/vm/runtime/synchronizer.hpp 2016-10-25 10:40:11.670779177 +0200 @@ -80,8 +80,8 @@ // used by classloading to free classloader object lock, // wait on an internal lock, and reclaim original lock // with original recursion count - static intptr_t complete_exit (Handle obj, TRAPS); - static void reenter (Handle obj, intptr_t recursion, TRAPS); + static void complete_exit(Handle obj, intptr_t *saved_recursions, intptr_t *saved_trace_exit_stack, TRAPS); + static void reenter (Handle obj, intptr_t saved_recursions, intptr_t saved_trace_exit_stack, TRAPS); // thread-specific and global objectMonitor free list accessors // static void verifyInUse (Thread * Self) ; too slow for general assert/debug @@ -156,10 +156,6 @@ void wait (TRAPS) { ObjectSynchronizer::wait (_obj, 0, CHECK); } // wait forever void notify_all(TRAPS) { ObjectSynchronizer::notifyall(_obj, CHECK); } void waitUninterruptibly (TRAPS) { ObjectSynchronizer::waitUninterruptibly (_obj, 0, CHECK);} - // complete_exit gives up lock completely, returning recursion count - // reenter reclaims lock with original recursion count - intptr_t complete_exit(TRAPS) { return ObjectSynchronizer::complete_exit(_obj, CHECK_0); } - void reenter(intptr_t recursion, TRAPS) { ObjectSynchronizer::reenter(_obj, recursion, CHECK); } }; #endif // SHARE_VM_RUNTIME_SYNCHRONIZER_HPP