Mercurial > hg > graal-compiler
changeset 5441:ab31310d4af9
CiKind.minValue and CiKind.maxValue for integer types
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 25 May 2012 10:35:59 +0200 |
parents | 3f6496caa1a4 |
children | 2fac5abf145f |
files | graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiKind.java |
diffstat | 1 files changed, 40 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiKind.java Tue May 22 16:31:30 2012 +0200 +++ b/graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiKind.java Fri May 25 10:35:59 2012 +0200 @@ -372,4 +372,44 @@ } } + public long minValue() { + switch (this) { + case Boolean: + return 0; + case Byte: + return java.lang.Byte.MIN_VALUE; + case Char: + return java.lang.Character.MIN_VALUE; + case Short: + return java.lang.Short.MIN_VALUE; + case Jsr: + case Int: + return java.lang.Integer.MIN_VALUE; + case Long: + return java.lang.Long.MIN_VALUE; + default: + throw new IllegalArgumentException("illegal call to minValue on " + this); + } + } + + public long maxValue() { + switch (this) { + case Boolean: + return 1; + case Byte: + return java.lang.Byte.MAX_VALUE; + case Char: + return java.lang.Character.MAX_VALUE; + case Short: + return java.lang.Short.MAX_VALUE; + case Jsr: + case Int: + return java.lang.Integer.MAX_VALUE; + case Long: + return java.lang.Long.MAX_VALUE; + default: + throw new IllegalArgumentException("illegal call to maxValue on " + this); + } + } + }