Mercurial > hg > truffle
changeset 19451:c5d5bbf7ec6c
Cut off loop exit probability at 1D.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 17 Feb 2015 17:31:48 +0100 |
parents | 67337afcb69e |
children | 3e5c4e59c586 |
files | graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java Tue Feb 17 17:05:04 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java Tue Feb 17 17:31:48 2015 +0100 @@ -62,10 +62,11 @@ Map<LoopExitNode, Double> exitStates = ReentrantNodeIterator.processLoop(this, loop, 1D).exitStates; double exitProbability = exitStates.values().stream().mapToDouble(d -> d).sum(); - assert exitProbability <= 1D && exitProbability >= 0D; + exitProbability = Math.min(1D, exitProbability); if (exitProbability < MIN_PROBABILITY) { exitProbability = MIN_PROBABILITY; } + assert exitProbability <= 1D && exitProbability >= 0D; double loopFrequency = 1D / exitProbability; loop.setLoopFrequency(loopFrequency);