Mercurial > hg > truffle
changeset 16453:2824f2d25339
fix for getDisplacementStamp
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 10 Jul 2014 14:23:45 +0200 |
parents | 41906973537e |
children | 973b5704b95d |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Thu Jul 10 14:04:52 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Thu Jul 10 14:23:45 2014 +0200 @@ -106,7 +106,8 @@ public IntegerStamp getDisplacementStamp() { assert indexScaling > 0 && CodeUtil.isPowerOf2(indexScaling); int scale = CodeUtil.log2(indexScaling); - return (IntegerStamp) StampTool.add(StampFactory.forInteger(64, displacement, displacement), StampTool.leftShift(index.stamp(), StampFactory.forInteger(64, scale, scale))); + return (IntegerStamp) StampTool.add(StampFactory.forInteger(64, displacement, displacement), + StampTool.signExtend(StampTool.leftShift(index.stamp(), StampFactory.forInteger(64, scale, scale)), 64)); } @Override