src/share/vm/ci/ciEnv.cpp

changeset 2551
4f26f535a225
parent 2497
3582bf76420e
child 2570
5841dc1964f0
equal deleted inserted replaced
2497:3582bf76420e 2551:4f26f535a225
410 fail_type = _unloaded_ciobjarrayklass; 410 fail_type = _unloaded_ciobjarrayklass;
411 } else { 411 } else {
412 fail_type = _unloaded_ciinstance_klass; 412 fail_type = _unloaded_ciinstance_klass;
413 } 413 }
414 KlassHandle found_klass; 414 KlassHandle found_klass;
415 if (!require_local) { 415 {
416 klassOop kls = SystemDictionary::find_constrained_instance_or_array_klass( 416 MutexLocker ml(Compile_lock);
417 sym, loader, KILL_COMPILE_ON_FATAL_(fail_type)); 417 klassOop kls;
418 found_klass = KlassHandle(THREAD, kls); 418 if (!require_local) {
419 } else { 419 kls = SystemDictionary::find_constrained_instance_or_array_klass(sym, loader,
420 klassOop kls = SystemDictionary::find_instance_or_array_klass( 420 KILL_COMPILE_ON_FATAL_(fail_type));
421 sym, loader, domain, KILL_COMPILE_ON_FATAL_(fail_type)); 421 } else {
422 kls = SystemDictionary::find_instance_or_array_klass(sym, loader, domain,
423 KILL_COMPILE_ON_FATAL_(fail_type));
424 }
422 found_klass = KlassHandle(THREAD, kls); 425 found_klass = KlassHandle(THREAD, kls);
423 } 426 }
424 427
425 // If we fail to find an array klass, look again for its element type. 428 // If we fail to find an array klass, look again for its element type.
426 // The element type may be available either locally or via constraints. 429 // The element type may be available either locally or via constraints.

mercurial