changeset 23264:c95a2eaf97e1

Correct the stamp on the PiNode from a range check
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 05 Jan 2016 17:05:35 -0800
parents 206bf428d745
children 1239452bbde2
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java	Tue Jan 05 16:42:05 2016 -0800
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java	Tue Jan 05 17:05:35 2016 -0800
@@ -809,7 +809,7 @@
 
         GuardingNode guard = tool.createGuard(n, graph.unique(new IntegerBelowNode(n.index(), arrayLength)), BoundsCheckException, InvalidateReprofile);
         IntegerStamp lengthStamp = (IntegerStamp) arrayLength.stamp();
-        IntegerStamp indexStamp = StampFactory.forInteger(32, 0, lengthStamp.upperBound());
+        IntegerStamp indexStamp = StampFactory.forInteger(32, 0, lengthStamp.upperBound() - 1);
         return graph.unique(new PiNode(n.index(), indexStamp, guard.asNode()));
     }