# HG changeset patch # User Gilles Duboscq # Date 1352286633 -3600 # Node ID 81ad987772f62d304716b06aa6e5b4f652665b2f # Parent 7f6823cc5d263776f74c138ec18d45fc3e592534 Cleanup GraalOption : removed defunct options Use GraalOption.InstanceOfMinHintHitProbability and InstanceOfMaxHints in InstanceOfSnippets instead of their Checkcast version diff -r 7f6823cc5d26 -r 81ad987772f6 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Nov 06 14:26:30 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Wed Nov 07 12:10:33 2012 +0100 @@ -171,7 +171,7 @@ new CullFrameStatesPhase().apply(graph); } - if (GraalOptions.FloatingReads) { + if (GraalOptions.OptFloatingReads) { int mark = graph.getMark(); new FloatingReadPhase().apply(graph); new CanonicalizerPhase(target, runtime, assumptions, mark, null).apply(graph); diff -r 7f6823cc5d26 -r 81ad987772f6 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/InstanceOfSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/InstanceOfSnippets.java Tue Nov 06 14:26:30 2012 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/InstanceOfSnippets.java Wed Nov 07 12:10:33 2012 +0100 @@ -178,7 +178,7 @@ ValueNode trueValue = replacer.trueValue; ValueNode falseValue = replacer.falseValue; ValueNode object = instanceOf.object(); - TypeCheckHints hintInfo = new TypeCheckHints(instanceOf.type(), instanceOf.profile(), tool.assumptions(), GraalOptions.CheckcastMinHintHitProbability, GraalOptions.CheckcastMaxHints); + TypeCheckHints hintInfo = new TypeCheckHints(instanceOf.type(), instanceOf.profile(), tool.assumptions(), GraalOptions.InstanceOfMinHintHitProbability, GraalOptions.InstanceOfMaxHints); final HotSpotResolvedJavaType type = (HotSpotResolvedJavaType) instanceOf.type(); ConstantNode hub = ConstantNode.forObject(type.klassOop(), runtime, instanceOf.graph()); boolean checkNull = !object.stamp().nonNull(); diff -r 7f6823cc5d26 -r 81ad987772f6 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Tue Nov 06 14:26:30 2012 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Wed Nov 07 12:10:33 2012 +0100 @@ -52,7 +52,6 @@ public static int SmallCompiledCodeSize = 2200; public static boolean LimitInlinedProbability = ____; // WeightBasedInliningPolicy (0) - public static boolean ParseBeforeInlining = ____; public static float InliningSizePenaltyExp = 20; public static float MaximumInlineWeight = 1.25f; public static float InliningSizePenalty = 1; @@ -98,9 +97,6 @@ public static int GraphCacheSize = 1000; public static boolean PrintGraphCache = ____; - //rematerialize settings - public static float MinimumUsageProbability = 0.95f; - //loop transform settings TODO (gd) tune public static boolean LoopPeeling = true; public static boolean ReassociateInvariants = true; @@ -122,10 +118,6 @@ public static String PrintFilter = null; - // printing settings - public static boolean PrintLIR = ____; - public static boolean PrintCFGToFile = ____; - // Debug settings: public static boolean Debug = true; public static boolean PerThreadDebugValues = ____; @@ -151,24 +143,16 @@ public static boolean PrintQueue = ____; public static boolean PrintCompilation = ____; public static boolean PrintProfilingInformation = ____; - public static boolean PrintXirTemplates = ____; public static boolean PrintIRWithLIR = ____; - public static boolean PrintAssembly = ____; public static boolean PrintCodeBytes = ____; - public static int PrintAssemblyBytesPerLine = 16; public static boolean PrintBailout = ____; public static int TraceLinearScanLevel = 0; - public static boolean TraceRegisterAllocation = false; public static int TraceLIRGeneratorLevel = 0; public static boolean TraceEscapeAnalysis = ____; public static int TraceBytecodeParserLevel = 0; - public static boolean PrintBailouts = true; public static boolean ExitVMOnBailout = ____; public static boolean ExitVMOnException = true; - // state merging settings - public static boolean AssumeVerifiedBytecode = true; - // Code generator settings public static boolean CheckCastElimination = true; public static boolean CullFrameStates = ____; @@ -182,7 +166,6 @@ static boolean UseTypeCheckHints = true; public static boolean InlineVTableStubs = true; public static boolean AlwaysInlineVTableStubs = ____; - public static boolean GenAssertionCode = ____; public static boolean AlignCallsForPatching = true; public static boolean ResolveClassBeforeStaticInvoke = true; @@ -195,35 +178,24 @@ public static boolean DetailedAsserts = ____; // Runtime settings - public static int ReadPrefetchInstr = 0; public static int StackShadowPages = 2; - // Assembler settings - public static boolean CommentedAssembly = ____; - public static boolean PrintLIRWithAssembly = ____; - public static boolean SupportJsrBytecodes = true; public static boolean OptAssumptions = true; public static boolean OptReadElimination = true; - public static boolean OptGVN = true; public static boolean OptCanonicalizer = true; - public static boolean ScheduleOutOfLoops = true; + public static boolean OptScheduleOutOfLoops = true; public static boolean OptReorderLoops = true; public static boolean OptEliminateGuards = true; public static boolean OptImplicitNullChecks = true; public static boolean OptLivenessAnalysis = true; public static boolean OptLoopTransform = true; public static boolean OptSafepointElimination = true; - public static boolean FloatingReads = true; + public static boolean OptFloatingReads = true; public static boolean OptTailDuplication = true; /** - * Prints all the available GraalOptions. - */ - public static boolean PrintFlags = false; - - /** * Counts the various paths taken through snippets. */ public static boolean SnippetCounters = false; @@ -249,11 +221,10 @@ /** * @see #CheckcastMaxHints */ - public static int InstanceOfMaxHints = 1; + public static int InstanceOfMaxHints = 2; static { // turn detailed assertions on when the general assertions are on (misusing the assert keyword for this) assert (DetailedAsserts = true) == true; - assert (CommentedAssembly = true) == true; } } diff -r 7f6823cc5d26 -r 81ad987772f6 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Tue Nov 06 14:26:30 2012 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Wed Nov 07 12:10:33 2012 +0100 @@ -127,7 +127,7 @@ Block block; if (latestBlock == null) { block = earliestBlock(node); - } else if (GraalOptions.ScheduleOutOfLoops && !(node instanceof VirtualObjectNode)) { + } else if (GraalOptions.OptScheduleOutOfLoops && !(node instanceof VirtualObjectNode)) { Block earliestBlock = earliestBlock(node); block = scheduleOutOfLoops(node, latestBlock, earliestBlock); assert earliestBlock.dominates(block) : "Graph can not be scheduled : inconsistent for " + node + " (" + earliestBlock + " needs to dominate " + block + ")";