diff src/share/vm/runtime/synchronizer.cpp @ 1410:b30a2cd5e3a2

Added methods to c1x_VMExits.cpp Some memos: - the result is not stored in a jobject, but in an oop! => (oop)get_as_jobject() - we get problems with locks hold by the user program when disabling background compilation => currently this makes an assert, we need a better solution
author Thomas Wuerthinger <thomas.wuerthinger@gmail.com>
date Wed, 12 May 2010 16:29:41 +0200
parents b9fba36710f2
children 2d26b0046e0d
line wrap: on
line diff
--- a/src/share/vm/runtime/synchronizer.cpp	Tue May 11 19:24:14 2010 +0200
+++ b/src/share/vm/runtime/synchronizer.cpp	Wed May 12 16:29:41 2010 +0200
@@ -2923,6 +2923,10 @@
         }
         ++ nWakeups ;
 
+        if (THREAD->is_Compiler_thread() && nWakeups >= 5) {
+          assert(false, "Compiler thread blocked by lock");
+        }
+
         // Assuming this is not a spurious wakeup we'll normally find _succ == Self.
         // We can defer clearing _succ until after the spin completes
         // TrySpin() must tolerate being called with _succ == Self.