# HG changeset patch # User Doug Simon # Date 1373471063 -7200 # Node ID 77b83e903703993a1c3b1d95a163de3c3eba813b # Parent a0309f88306ce65b11450989b802c1a2b8f53dc4 make use of guardingNonNull node intrinsic diff -r a0309f88306c -r 77b83e903703 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java Wed Jul 10 09:42:22 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java Wed Jul 10 17:44:23 2013 +0200 @@ -82,21 +82,12 @@ private static final long VECTOR_SIZE = arrayIndexScale(Kind.Long); private static void checkedCopy(Object src, int srcPos, Object dest, int destPos, int length, Kind baseKind) { - Object nonNullSrc = checkNonNull(src); - Object nonNullDest = checkNonNull(dest); + Object nonNullSrc = guardingNonNull(src); + Object nonNullDest = guardingNonNull(dest); checkLimits(nonNullSrc, srcPos, nonNullDest, destPos, length); UnsafeArrayCopyNode.arraycopy(nonNullSrc, srcPos, nonNullDest, destPos, length, baseKind); } - @Fold - private static Stamp nonNull() { - return StampFactory.objectNonNull(); - } - - public static Object checkNonNull(Object obj) { - return guardingPi(obj, isNull(obj), true, DeoptimizationReason.RuntimeConstraint, DeoptimizationAction.None, nonNull()); - } - public static int checkArrayType(Word hub) { int layoutHelper = readLayoutHelper(hub); if (layoutHelper >= 0) { @@ -191,8 +182,8 @@ @Snippet public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) { - Object nonNullSrc = checkNonNull(src); - Object nonNullDest = checkNonNull(dest); + Object nonNullSrc = guardingNonNull(src); + Object nonNullDest = guardingNonNull(dest); Word srcHub = loadHub(nonNullSrc); Word destHub = loadHub(nonNullDest); if (probability(FAST_PATH_PROBABILITY, srcHub.equal(destHub)) && probability(FAST_PATH_PROBABILITY, nonNullSrc != nonNullDest)) {