src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java
equal
deleted
inserted
replaced
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; |