Mercurial > hg > truffle
diff src/share/vm/ci/ciEnv.cpp @ 2244:4f26f535a225
6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111"
Reviewed-by: jrose, acorn
author | never |
---|---|
date | Mon, 31 Jan 2011 17:48:21 -0800 |
parents | 3582bf76420e |
children | 5841dc1964f0 |
line wrap: on
line diff
--- a/src/share/vm/ci/ciEnv.cpp Thu Jan 27 16:11:27 2011 -0800 +++ b/src/share/vm/ci/ciEnv.cpp Mon Jan 31 17:48:21 2011 -0800 @@ -412,13 +412,16 @@ fail_type = _unloaded_ciinstance_klass; } KlassHandle found_klass; - if (!require_local) { - klassOop kls = SystemDictionary::find_constrained_instance_or_array_klass( - sym, loader, KILL_COMPILE_ON_FATAL_(fail_type)); - found_klass = KlassHandle(THREAD, kls); - } else { - klassOop kls = SystemDictionary::find_instance_or_array_klass( - sym, loader, domain, KILL_COMPILE_ON_FATAL_(fail_type)); + { + MutexLocker ml(Compile_lock); + klassOop kls; + if (!require_local) { + kls = SystemDictionary::find_constrained_instance_or_array_klass(sym, loader, + KILL_COMPILE_ON_FATAL_(fail_type)); + } else { + kls = SystemDictionary::find_instance_or_array_klass(sym, loader, domain, + KILL_COMPILE_ON_FATAL_(fail_type)); + } found_klass = KlassHandle(THREAD, kls); }