Mercurial > hg > graal-compiler
changeset 18611:20e498cfa409
checkcastArraycopy: if src and dest are equal, unchecked variant can be used
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Thu, 04 Dec 2014 12:13:27 +0100 |
parents | 6a6291c31657 |
children | c2da0aa9e675 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java Wed Dec 03 20:40:30 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopySnippets.java Thu Dec 04 12:13:27 2014 +0100 @@ -191,7 +191,8 @@ Object nonNullDest = guardingNonNull(dest); checkLimits(nonNullSrc, srcPos, nonNullDest, destPos, length); if (probability(SLOW_PATH_PROBABILITY, nonNullSrc == nonNullDest)) { - System.arraycopy(nonNullSrc, srcPos, nonNullDest, destPos, length); + // no storecheck required. + ArrayCopyCallNode.arraycopy(nonNullSrc, srcPos, nonNullDest, destPos, length, Kind.Object, false, false); } else { KlassPointer destElemKlass = loadHub(nonNullDest); checkcastArraycopyHelper(srcPos, destPos, length, nonNullSrc, nonNullDest, destElemKlass);