changeset 19446:fb20fbfd6a85

Add a probability-based cut-off to the inlining policy.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 17 Feb 2015 16:31:39 +0100
parents 82c5dfb8435a
children 2452e881fad5
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/GreedyInliningPolicy.java
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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,