# HG changeset patch # User Thomas Wuerthinger # Date 1424187099 -3600 # Node ID fb20fbfd6a858212d3a20323f86f6d2315a2fef9 # Parent 82c5dfb8435aad6a09b7f9c8cd7b1c82559f8202 Add a probability-based cut-off to the inlining policy. diff -r 82c5dfb8435a -r fb20fbfd6a85 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/GreedyInliningPolicy.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/GreedyInliningPolicy.java Tue Feb 17 01:50:08 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/GreedyInliningPolicy.java Tue Feb 17 16:31:39 2015 +0100 @@ -102,6 +102,11 @@ return false; } + if (probability <= 0.00001 && nodes >= TrivialInliningSize.getValue() * 2) { + InliningUtil.logNotInlinedMethod(info, inliningDepth, "probability-based (relevance=%f, probability=%f, bonus=%f, nodes=%d > %f)", relevance, probability, inliningBonus, nodes); + return false; + } + double maximumNodes = computeMaximumSize(relevance, (int) (MaximumInliningSize.getValue() * inliningBonus)); if (nodes <= maximumNodes) { InliningUtil.logInlinedMethod(info, inliningDepth, fullyProcessed, "relevance-based (relevance=%f, probability=%f, bonus=%f, nodes=%d <= %f)", relevance, probability, inliningBonus,