Mercurial > hg > truffle
changeset 10691:77b83e903703
make use of guardingNonNull node intrinsic
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 10 Jul 2013 17:44:23 +0200 |
parents | a0309f88306c |
children | bebc9672f45e |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java |
diffstat | 1 files changed, 4 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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)) {