Mercurial > hg > graal-jvmci-8
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;