Mercurial > hg > graal-jvmci-8
changeset 19934:fa11aa10bf2c
Implement foldStamp for Integer to Float conversions
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 08 Oct 2014 15:27:10 +0200 |
parents | c37e10bb3aa7 |
children | 9aa9db862403 |
files | graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java |
diffstat | 1 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Wed Mar 18 14:36:13 2015 +0100 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Wed Oct 08 15:27:10 2014 +0200 @@ -973,7 +973,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 32; - return StampFactory.forKind(Kind.Float); + float lowerBound = stamp.lowerBound(); + float upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); } }, @@ -989,7 +991,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 64; - return StampFactory.forKind(Kind.Float); + float lowerBound = stamp.lowerBound(); + float upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); } }, @@ -1005,7 +1009,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 32; - return StampFactory.forKind(Kind.Double); + double lowerBound = stamp.lowerBound(); + double upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); } }, @@ -1021,7 +1027,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 64; - return StampFactory.forKind(Kind.Double); + double lowerBound = stamp.lowerBound(); + double upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); } }); }