comparison 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
comparison
equal deleted inserted replaced
1407:09e7826ecf01 1410:b30a2cd5e3a2
2920 TEVENT (Inflated enter - Futile wakeup) ; 2920 TEVENT (Inflated enter - Futile wakeup) ;
2921 if (ObjectSynchronizer::_sync_FutileWakeups != NULL) { 2921 if (ObjectSynchronizer::_sync_FutileWakeups != NULL) {
2922 ObjectSynchronizer::_sync_FutileWakeups->inc() ; 2922 ObjectSynchronizer::_sync_FutileWakeups->inc() ;
2923 } 2923 }
2924 ++ nWakeups ; 2924 ++ nWakeups ;
2925
2926 if (THREAD->is_Compiler_thread() && nWakeups >= 5) {
2927 assert(false, "Compiler thread blocked by lock");
2928 }
2925 2929
2926 // Assuming this is not a spurious wakeup we'll normally find _succ == Self. 2930 // Assuming this is not a spurious wakeup we'll normally find _succ == Self.
2927 // We can defer clearing _succ until after the spin completes 2931 // We can defer clearing _succ until after the spin completes
2928 // TrySpin() must tolerate being called with _succ == Self. 2932 // TrySpin() must tolerate being called with _succ == Self.
2929 // Try yet another round of adaptive spinning. 2933 // Try yet another round of adaptive spinning.