Mercurial > hg > graal-compiler
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. |