src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java Tue Dec 11 18:00:17 2018 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java Tue Dec 11 16:50:43 2018 -0800
@@ -30,7 +30,6 @@
import static org.graalvm.compiler.nodes.extended.BranchProbabilityNode.SLOW_PATH_PROBABILITY;
import static org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability;
-import java.lang.reflect.Method;
import java.util.EnumMap;
import jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap;
@@ -290,7 +289,7 @@
DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
}
} else {
- ReplacementsUtil.staticAssert(false, "unknown array type check");
+ ReplacementsUtil.staticAssert(false, "unknown array type check ", arrayTypeCheck);
}
}
@@ -384,8 +383,7 @@
}
protected SnippetInfo snippet(ArrayCopySnippets receiver, String methodName) {
- SnippetInfo info = snippet(ArrayCopySnippets.class, methodName, receiver, LocationIdentity.any());
- info.setOriginalMethod(originalArraycopy());
+ SnippetInfo info = snippet(ArrayCopySnippets.class, methodName, originalArraycopy(), receiver, LocationIdentity.any());
return info;
}
@@ -577,13 +575,11 @@
private ResolvedJavaMethod originalArraycopy() throws GraalError {
if (originalArraycopy == null) {
- Method method;
try {
- method = System.class.getDeclaredMethod("arraycopy", Object.class, int.class, Object.class, int.class, int.class);
- } catch (NoSuchMethodException | SecurityException e) {
+ originalArraycopy = findMethod(providers.getMetaAccess(), System.class, "arraycopy");
+ } catch (SecurityException e) {
throw new GraalError(e);
}
- originalArraycopy = providers.getMetaAccess().lookupJavaMethod(method);
}
return originalArraycopy;
}