src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java
changeset 59095 03fbcd06b4c0
parent 58299 6df94ce3ab2f
equal deleted inserted replaced
59094:5d4c3724e4c7 59095:03fbcd06b4c0
   257         final boolean isStatic = target.isStatic();
   257         final boolean isStatic = target.isStatic();
   258         final int receiverSkip = isStatic ? 0 : 1;
   258         final int receiverSkip = isStatic ? 0 : 1;
   259 
   259 
   260         Assumptions assumptions = adder.getAssumptions();
   260         Assumptions assumptions = adder.getAssumptions();
   261         ResolvedJavaMethod realTarget = null;
   261         ResolvedJavaMethod realTarget = null;
   262         if (target.canBeStaticallyBound()) {
   262         if (target.canBeStaticallyBound() || intrinsicMethod == IntrinsicMethod.LINK_TO_SPECIAL) {
   263             realTarget = target;
   263             realTarget = target;
   264         } else {
   264         } else {
   265             ResolvedJavaType targetType = target.getDeclaringClass();
   265             ResolvedJavaType targetType = target.getDeclaringClass();
   266             // Try to bind based on the declaredType
   266             // Try to bind based on the declaredType
   267             AssumptionResult<ResolvedJavaMethod> concreteMethod = targetType.findUniqueConcreteMethod(target);
   267             AssumptionResult<ResolvedJavaMethod> concreteMethod = targetType.findUniqueConcreteMethod(target);