# HG changeset patch # User Tom Rodriguez # Date 1426698085 25200 # Node ID 6a0692faf9fda6d343e188746958355d6dc5182c # Parent a3ffdf6ec40885b1f64a31e5b07e2ecb4576b3cd Ignore -Xbatch when the thread is in the middle of class loading diff -r a3ffdf6ec408 -r 6a0692faf9fd src/share/vm/compiler/compileBroker.cpp --- a/src/share/vm/compiler/compileBroker.cpp Tue Mar 17 19:24:47 2015 -0700 +++ b/src/share/vm/compiler/compileBroker.cpp Wed Mar 18 10:01:25 2015 -0700 @@ -1220,10 +1220,12 @@ blocking = false; } - // Don't allow blocking compiles if inside a class initializer + // Don't allow blocking compiles if inside a class initializer or while performing class loading vframeStream vfst((JavaThread*) thread); for (; !vfst.at_end(); vfst.next()) { - if (vfst.method()->is_static_initializer()) { + if (vfst.method()->is_static_initializer() || + (vfst.method()->method_holder()->is_subclass_of(SystemDictionary::ClassLoader_klass()) && + vfst.method()->name() == vmSymbols::loadClass_name())) { blocking = false; break; }