comparison src/share/vm/compiler/compileBroker.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 35069ca331f2
children 1ecc8f0aad00
comparison
equal deleted inserted replaced
1407:09e7826ecf01 1410:b30a2cd5e3a2
861 bool blocking = false; 861 bool blocking = false;
862 862
863 // Acquire our lock. 863 // Acquire our lock.
864 { 864 {
865 MutexLocker locker(_method_queue->lock(), THREAD); 865 MutexLocker locker(_method_queue->lock(), THREAD);
866
867 if (Thread::current()->is_Compiler_thread() && CompilerThread::current()->is_compiling()) {
868 TRACE_C1X_1("Recursive compile!");
869 return;
870 }
866 871
867 // Make sure the method has not slipped into the queues since 872 // Make sure the method has not slipped into the queues since
868 // last we checked; note that those checks were "fast bail-outs". 873 // last we checked; note that those checks were "fast bail-outs".
869 // Here we need to be more careful, see 14012000 below. 874 // Here we need to be more careful, see 14012000 below.
870 if (compilation_is_in_queue(method, osr_bci)) { 875 if (compilation_is_in_queue(method, osr_bci)) {