changeset 2534:4af63190ee3d

Prohibit inlining of synchronized and inlining of method with exception handlers (remove C1XOption).
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 27 Apr 2011 19:25:26 +0200
parents c480605ef068
children cc5443caae16
files graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotOptions.java
diffstat 3 files changed, 2 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java	Wed Apr 27 19:05:35 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java	Wed Apr 27 19:25:26 2011 +0200
@@ -40,8 +40,6 @@
 
     // inlining settings
     public static boolean OptInline                          = ____;
-    public static boolean OptInlineExcept                    = ____;
-    public static boolean OptInlineSynchronized              = ____;
 
     public static int     MaximumInstructionCount            = 37000;
     public static float   MaximumInlineRatio                 = 0.90f;
@@ -95,9 +93,6 @@
     public static boolean OptLocalLoadElimination;
     public static boolean OptCSEArrayLength;
     public static boolean OptBlockSkipping;
-    public static boolean OptIterativeNCE;
-    public static boolean OptFlowSensitiveNCE;
-    public static boolean OptDeadCodeElimination1;
     public static boolean OptControlFlow;
     public static boolean OptMoveElimination;
 
@@ -170,13 +165,8 @@
 
         // Level 3 optimizations
         OptCSEArrayLength               = lll;
-        OptInlineExcept                 = lll;
-        OptInlineSynchronized           = lll;
         UseStackMapTableLiveness        = lll;
         UseAssumptions                  = lll;
-        OptIterativeNCE                 = lll;
-        OptFlowSensitiveNCE             = lll;
-        OptDeadCodeElimination1         = lll;
         OptBlockSkipping                = lll;
     }
 }
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Wed Apr 27 19:05:35 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Wed Apr 27 19:25:26 2011 +0200
@@ -1055,7 +1055,6 @@
             if (isSynchronized(method().accessFlags())) {
                 // if the inlined method is synchronized, then the monitor
                 // must be released before jumping to the continuation point
-                assert C1XOptions.OptInlineSynchronized;
                 Value object = curState.lockAt(0);
                 if (object instanceof Instruction) {
                     Instruction obj = (Instruction) object;
@@ -1469,10 +1468,10 @@
         if (compilation.runtime.mustNotCompile(target)) {
             return cannotInline(target, "compile excluded by runtime");
         }
-        if (isSynchronized(target.accessFlags()) && !C1XOptions.OptInlineSynchronized) {
+        if (isSynchronized(target.accessFlags())) {
             return cannotInline(target, "is synchronized");
         }
-        if (target.exceptionHandlers().length != 0 && !C1XOptions.OptInlineExcept) {
+        if (target.exceptionHandlers().length != 0) {
             return cannotInline(target, "has exception handlers");
         }
         if (!target.hasBalancedMonitors()) {
--- a/graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotOptions.java	Wed Apr 27 19:05:35 2011 +0200
+++ b/graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotOptions.java	Wed Apr 27 19:25:26 2011 +0200
@@ -32,8 +32,6 @@
 
     public static void setDefaultOptions() {
         C1XOptions.setOptimizationLevel(3);
-        C1XOptions.OptInlineExcept = false;
-        C1XOptions.OptInlineSynchronized = false;
         C1XOptions.DetailedAsserts = false;
         C1XOptions.CommentedAssembly = false;
         C1XOptions.MethodEndBreakpointGuards = 2;