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