Mercurial > hg > truffle
diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java @ 11258:56f1aa40e13b
made LoadHubNode be floating
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 07 Aug 2013 18:40:05 +0200 |
parents | 388fbd0dd4a4 |
children | ef6915cf1e59 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java Wed Aug 07 16:45:23 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java Wed Aug 07 18:40:05 2013 +0200 @@ -89,7 +89,8 @@ } return falseValue; } - Word objectHub = loadHub(object); + BeginNode anchorNode = BeginNode.anchor(StampFactory.forNodeIntrinsic()); + Word objectHub = loadHubIntrinsic(object, getWordKind(), anchorNode); // if we get an exact match: succeed immediately ExplodeLoopNode.explodeLoop(); for (int i = 0; i < hints.length; i++) { @@ -117,7 +118,8 @@ isNull.inc(); return falseValue; } - Word objectHub = loadHub(object); + BeginNode anchorNode = BeginNode.anchor(StampFactory.forNodeIntrinsic()); + Word objectHub = loadHubIntrinsic(object, getWordKind(), anchorNode); if (probability(LIKELY_PROBABILITY, objectHub.notEqual(exactHub))) { exactMiss.inc(); return falseValue; @@ -135,7 +137,8 @@ isNull.inc(); return falseValue; } - Word objectHub = loadHub(object); + BeginNode anchorNode = BeginNode.anchor(StampFactory.forNodeIntrinsic()); + Word objectHub = loadHubIntrinsic(object, getWordKind(), anchorNode); if (probability(NOT_LIKELY_PROBABILITY, objectHub.readWord(superCheckOffset, LocationIdentity.FINAL_LOCATION).notEqual(hub))) { displayMiss.inc(); return falseValue; @@ -154,7 +157,8 @@ isNull.inc(); return falseValue; } - Word objectHub = loadHub(object); + BeginNode anchorNode = BeginNode.anchor(StampFactory.forNodeIntrinsic()); + Word objectHub = loadHubIntrinsic(object, getWordKind(), anchorNode); // if we get an exact match: succeed immediately ExplodeLoopNode.explodeLoop(); for (int i = 0; i < hints.length; i++) { @@ -182,7 +186,8 @@ } Word hub = loadWordFromObject(mirror, klassOffset()); - Word objectHub = loadHub(object); + BeginNode anchorNode = BeginNode.anchor(StampFactory.forNodeIntrinsic()); + Word objectHub = loadHubIntrinsic(object, getWordKind(), anchorNode); if (!checkUnknownSubType(hub, objectHub)) { return falseValue; }