hotspot/src/share/vm/ci/ciEnv.cpp
changeset 8314 057b1c20fd7e
parent 8076 96d498ec7ae1
child 8333 11a7f6fc6419
equal deleted inserted replaced
8076:96d498ec7ae1 8314:057b1c20fd7e
   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.