Mercurial > hg > graal-jvmci-8
changeset 9371:2026d0a1dd19
Cap probability to 1.0.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 27 Apr 2013 18:02:20 +0200 |
parents | 3c441e8c9e7f |
children | 98603705e565 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Sat Apr 27 17:22:54 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Sat Apr 27 18:02:20 2013 +0200 @@ -219,7 +219,7 @@ if (instanceOfB.type().isAssignableFrom(type.getType())) { // Do not add to profile. } else { - ProfiledType newType = new ProfiledType(type.getType(), type.getProbability() * (1.0 - probabilityA) / (1.0 - probabilityB)); + ProfiledType newType = new ProfiledType(type.getType(), Math.max(1.0, type.getProbability() * (1.0 - probabilityA) / (1.0 - probabilityB))); profiledTypes.add(newType); remainder -= newType.getProbability(); } @@ -227,7 +227,7 @@ for (ProfiledType type : profileA.getTypes()) { if (instanceOfA.type().isAssignableFrom(type.getType())) { - ProfiledType newType = new ProfiledType(type.getType(), type.getProbability() / (1.0 - probabilityB)); + ProfiledType newType = new ProfiledType(type.getType(), Math.max(1.0, type.getProbability() / (1.0 - probabilityB))); profiledTypes.add(newType); remainder -= newType.getProbability(); }