comparison src/share/vm/compiler/compileBroker.cpp @ 19947:6a0692faf9fd

Ignore -Xbatch when the thread is in the middle of class loading
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Wed, 18 Mar 2015 10:01:25 -0700
parents 5119e7f07d93
children 7848fc12602b
comparison
equal deleted inserted replaced
19946:a3ffdf6ec408 19947:6a0692faf9fd
1218 // Don't allow blocking compiles for requests triggered by Graal. 1218 // Don't allow blocking compiles for requests triggered by Graal.
1219 if (thread->is_Compiler_thread()) { 1219 if (thread->is_Compiler_thread()) {
1220 blocking = false; 1220 blocking = false;
1221 } 1221 }
1222 1222
1223 // Don't allow blocking compiles if inside a class initializer 1223 // Don't allow blocking compiles if inside a class initializer or while performing class loading
1224 vframeStream vfst((JavaThread*) thread); 1224 vframeStream vfst((JavaThread*) thread);
1225 for (; !vfst.at_end(); vfst.next()) { 1225 for (; !vfst.at_end(); vfst.next()) {
1226 if (vfst.method()->is_static_initializer()) { 1226 if (vfst.method()->is_static_initializer() ||
1227 (vfst.method()->method_holder()->is_subclass_of(SystemDictionary::ClassLoader_klass()) &&
1228 vfst.method()->name() == vmSymbols::loadClass_name())) {
1227 blocking = false; 1229 blocking = false;
1228 break; 1230 break;
1229 } 1231 }
1230 } 1232 }
1231 1233