changeset 4699:83e7065e9c75

adjust inlining policy's maximum trivial size
author Christian Haeubl <christian.haeubl@oracle.com>
date Fri, 24 Feb 2012 18:29:00 -0800
parents 6872a9e3a4b9
children 3ab34c33d690
files graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/GraalOptions.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/phases/InliningPhase.java
diffstat 2 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/GraalOptions.java	Fri Feb 24 18:23:41 2012 -0800
+++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/GraalOptions.java	Fri Feb 24 18:29:00 2012 -0800
@@ -47,7 +47,7 @@
     public static boolean InlineMegamorphicCalls             = ____;
     public static int     InliningPolicy                     = 4;
     public static int     WeightComputationPolicy            = 2;
-    public static int     MaximumTrivialSize                 = 6;
+    public static int     MaximumTrivialSize                 = 10;
     public static int     MaximumInlineLevel                 = 30;
     public static int     MaximumDesiredSize                 = 6000;
     public static int     MaximumRecursiveInlining           = 1;
@@ -59,11 +59,13 @@
     public static float   MaximumInlineWeight                = 1.25f;
     public static float   InliningSizePenalty                = 1;
     // StaticSizeBasedInliningPolicy (1), MinimumCodeSizeBasedInlining (2),
-    // DynamicSizeBasedInliningPolicy (3), GreedySizeBasedInlining (4)
+    // DynamicSizeBasedInliningPolicy (3)
     public static int     MaximumInlineSize                  = 35;
+    // GreedySizeBasedInlining (4)
+    public static int     MaximumGreedyInlineSize            = 200;
+    // Common options for inlining policies 1 to 4
     public static float   NestedInliningSizeRatio            = 1f;
     public static float   BoostInliningForEscapeAnalysis     = 2f;
-    public static int     MaximumGreedyInlineSize            = 200;
     public static float   ProbabilityCapForInlining          = 1f;
 
     // escape analysis settings
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/phases/InliningPhase.java	Fri Feb 24 18:23:41 2012 -0800
+++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/phases/InliningPhase.java	Fri Feb 24 18:29:00 2012 -0800
@@ -307,7 +307,7 @@
 
             double inlineRatio = Math.min(GraalOptions.ProbabilityCapForInlining, info.invoke.probability());
             double maxSize = Math.pow(GraalOptions.NestedInliningSizeRatio, info.level) * GraalOptions.MaximumGreedyInlineSize * inlineRatio;
-            maxSize = Math.max(maxSize, GraalOptions.MaximumInlineSize);
+            maxSize = Math.max(maxSize, GraalOptions.MaximumTrivialSize);
             return info.weight <= maxSize;
         }
     }