src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java
changeset 58793 81ad1da857f6
parent 55581 b8a986731870
child 58851 f1e6442241ca
equal deleted inserted replaced
58790:5a9dba5a3eeb 58793:81ad1da857f6
   358     public boolean isInitialized() {
   358     public boolean isInitialized() {
   359         return isArray() ? true : getInitState() == config().instanceKlassStateFullyInitialized;
   359         return isArray() ? true : getInitState() == config().instanceKlassStateFullyInitialized;
   360     }
   360     }
   361 
   361 
   362     @Override
   362     @Override
       
   363     public boolean isBeingInitialized() {
       
   364         return isArray() ? false : getInitState() == config().instanceKlassStateBeingInitialized;
       
   365     }
       
   366 
       
   367     @Override
   363     public boolean isLinked() {
   368     public boolean isLinked() {
   364         return isArray() ? true : getInitState() >= config().instanceKlassStateLinked;
   369         return isArray() ? true : getInitState() >= config().instanceKlassStateLinked;
   365     }
   370     }
   366 
   371 
   367     /**
   372     /**
   377 
   382 
   378     @Override
   383     @Override
   379     public void initialize() {
   384     public void initialize() {
   380         if (!isInitialized()) {
   385         if (!isInitialized()) {
   381             runtime().compilerToVm.ensureInitialized(this);
   386             runtime().compilerToVm.ensureInitialized(this);
   382             assert isInitialized();
   387             assert isInitialized() || isBeingInitialized();
   383         }
   388         }
   384     }
   389     }
   385 
   390 
   386     @Override
   391     @Override
   387     public boolean isInstance(JavaConstant obj) {
   392     public boolean isInstance(JavaConstant obj) {
   576         if (resolvedMethod.canBeStaticallyBound()) {
   581         if (resolvedMethod.canBeStaticallyBound()) {
   577             // No assumptions are required.
   582             // No assumptions are required.
   578             return new AssumptionResult<>(resolvedMethod);
   583             return new AssumptionResult<>(resolvedMethod);
   579         }
   584         }
   580 
   585 
   581         if (resolvedMethod.canBeStaticallyBound()) {
       
   582             // No assumptions are required.
       
   583             return new AssumptionResult<>(resolvedMethod);
       
   584         }
       
   585 
       
   586         ResolvedJavaMethod result = resolvedMethod.uniqueConcreteMethod(this);
   586         ResolvedJavaMethod result = resolvedMethod.uniqueConcreteMethod(this);
   587         if (result != null) {
   587         if (result != null) {
   588             return new AssumptionResult<>(result, new ConcreteMethod(method, this, result));
   588             return new AssumptionResult<>(result, new ConcreteMethod(method, this, result));
   589         }
   589         }
   590         return null;
   590         return null;