# HG changeset patch # User Doug Simon # Date 1358888434 -3600 # Node ID 4cc0efe5cffebebb65760f0c6090604a224b0ba5 # Parent d4bc143c575a097fe43c36f594da74da312c4572 disabled auto-formatting of manually formatted code diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java Tue Jan 22 22:00:34 2013 +0100 @@ -34,6 +34,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; +// @formatter:off public class AMD64HotSpotRegisterConfig implements RegisterConfig { // be careful - the contents of this array are duplicated in graal_CodeInstaller.cpp diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Tue Jan 22 22:00:34 2013 +0100 @@ -54,6 +54,8 @@ Kind word = graalRuntime.getTarget().wordKind; + // @formatter:off + addRuntimeCall(DEOPTIMIZE, config.deoptimizeStub, /* temps */ null, /* ret */ ret(Kind.Void)); @@ -174,6 +176,9 @@ /* arg2: key */ word, /* arg3: r */ word, /* arg4: inLength */ Kind.Int)); + + // @formatter:on + } @Override diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/Marks.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/Marks.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/Marks.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,6 +29,7 @@ */ public interface Marks { + // @formatter:off // These constants need to correspond to those of the same name in graalCodeInstaller.hpp Integer MARK_VERIFIED_ENTRY = 0x0001; Integer MARK_UNVERIFIED_ENTRY = 0x0002; diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Tue Jan 22 22:00:34 2013 +0100 @@ -203,6 +203,8 @@ regConfig = createRegisterConfig(false); globalStubRegConfig = createRegisterConfig(true); + // @formatter:off + addRuntimeCall(UNWIND_EXCEPTION, config.unwindExceptionStub, /* temps */ null, /* ret */ ret(Kind.Void), @@ -270,6 +272,8 @@ /* ret */ ret(Kind.Void), /* arg0: object */ javaCallingConvention(Kind.Object, /* arg1: flags */ Kind.Int)); + + // @formatter:on } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/CheckCastSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/CheckCastSnippets.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/CheckCastSnippets.java Tue Jan 22 22:00:34 2013 +0100 @@ -60,6 +60,8 @@ @NodeIntrinsic(BreakpointNode.class) static native void bkpt(Object object, Word hub, Word objectHub); + // @formatter:off + /** * Type test used when the type being tested against is a final type. */ @@ -232,6 +234,8 @@ return false; } + // @formatter:on + public static class Templates extends AbstractTemplates { private final ResolvedJavaMethod exact; diff -r d4bc143c575a -r 4cc0efe5cffe 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 Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/InstanceOfSnippets.java Tue Jan 22 22:00:34 2013 +0100 @@ -56,6 +56,8 @@ */ public class InstanceOfSnippets implements SnippetsInterface { + // @formatter:off + /** * A test against a final type. */ @@ -192,6 +194,8 @@ return trueValue; } + // @formatter:on + public static class Templates extends InstanceOfSnippetsTemplates { private final ResolvedJavaMethod instanceofExact; diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java Tue Jan 22 22:00:34 2013 +0100 @@ -57,6 +57,8 @@ */ public class NewObjectSnippets implements SnippetsInterface { + // @formatter:off + @Snippet public static Word allocate(@Parameter("size") int size) { Word thread = thread(); @@ -226,6 +228,8 @@ } } + // @formatter:on + public static class Templates extends AbstractTemplates { private final ResolvedJavaMethod allocate; diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeDisassembler.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeDisassembler.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeDisassembler.java Tue Jan 22 22:00:34 2013 +0100 @@ -63,6 +63,7 @@ String mnemonic = Bytecodes.nameOf(opcode); buf.append(String.format("%4d: %-14s", bci, mnemonic)); if (stream.nextBCI() > bci + 1) { + // @formatter:off switch (opcode) { case BIPUSH : buf.append(stream.readByte()); break; case SIPUSH : buf.append(stream.readShort()); break; @@ -221,6 +222,7 @@ break; } } + // @formatter:on } buf.append(String.format("%n")); stream.next(); diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Jan 22 22:00:34 2013 +0100 @@ -1380,6 +1380,7 @@ private void connectLoopEndToBegin() { for (LoopBeginNode begin : currentGraph.getNodes(LoopBeginNode.class)) { if (begin.loopEnds().isEmpty()) { + // @formatter:off // Remove loop header without loop ends. // This can happen with degenerated loops like this one: // for (;;) { @@ -1388,6 +1389,7 @@ // } catch (UnresolvedException iioe) { // } // } + // @formatter:on assert begin.forwardEndCount() == 1; currentGraph.reduceDegenerateLoopBegin(begin); } else { @@ -1590,6 +1592,7 @@ int cpi; // Checkstyle: stop + // @formatter:off switch (opcode) { case NOP : /* nothing to do */ break; case ACONST_NULL : frameState.apush(appendConstant(Constant.NULL_OBJECT)); break; @@ -1796,6 +1799,7 @@ default: throw new BailoutException("Unsupported opcode " + opcode + " (" + nameOf(opcode) + ") [bci=" + bci + "]"); } + // @formatter:on // Checkstyle: resume } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_dneg2.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_dneg2.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_dneg2.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,7 +29,6 @@ */ public class BC_dneg2 extends JTTTest { -// @NEVER_INLINE public static double test(double a) { return 1 / (-a); } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/except/Finally02.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/except/Finally02.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/except/Finally02.java Tue Jan 22 22:00:34 2013 +0100 @@ -39,12 +39,10 @@ return c(); } -// @NEVER_INLINE static int a() { return 0; } -// @NEVER_INLINE static int b() { return -3; } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_idea.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_idea.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_idea.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,8 +29,7 @@ import com.oracle.graal.jtt.*; import org.junit.*; -/* - */ +//@formatter:off public class HP_idea extends JTTTest { public boolean test() { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6186134.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6186134.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6186134.java Tue Jan 22 22:00:34 2013 +0100 @@ -27,6 +27,7 @@ import com.oracle.graal.jtt.*; import org.junit.*; +// @formatter:off public class Test6186134 extends JTTTest { public static class TestClass { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6196102.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6196102.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6196102.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,10 +29,10 @@ * @test * @bug 6196102 * @summary Integer seems to be greater than Integer.MAX_VALUE - * + * * @run main Test6196102 */ - +// @formatter:off public class Test6196102 extends JTTTest { public static String test() { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6753639.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6753639.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6753639.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,10 +29,10 @@ * @test * @bug 6753639 * @summary Strange optimisation in for loop with cyclic integer condition - * + * * @run main/othervm -Xbatch Test6753639 */ - +// @formatter:off public class Test6753639 extends JTTTest { public static int test() { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6823354.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6823354.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6823354.java Tue Jan 22 22:00:34 2013 +0100 @@ -22,6 +22,8 @@ */ package com.oracle.graal.jtt.hotspot; +//@formatter:off + /** * @test * @bug 6823354 diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6850611.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6850611.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6850611.java Tue Jan 22 22:00:34 2013 +0100 @@ -25,11 +25,13 @@ import com.oracle.graal.jtt.*; import org.junit.*; +//@formatter:off + /** * @test * @bug 6850611 * @summary int / long arithmetic seems to be broken in 1.6.0_14 HotSpot Server VM (Win XP) - * + * * @run main Test6850611 */ diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test6959129.java Tue Jan 22 22:00:34 2013 +0100 @@ -24,6 +24,8 @@ import com.oracle.graal.jtt.*; +//@formatter:off + /** * @test * @bug 6959129 diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotspot/Test7005594.java Tue Jan 22 22:00:34 2013 +0100 @@ -22,6 +22,8 @@ */ package com.oracle.graal.jtt.hotspot; +//@formatter:off + /** * @test * @bug 7005594 diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_setOut.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_setOut.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_setOut.java Tue Jan 22 22:00:34 2013 +0100 @@ -46,7 +46,6 @@ return sum; } -// @NEVER_INLINE private static void doPrint(int n) { for (int i = 0; i < n; i++) { System.out.print('x'); diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi01.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi01.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi01.java Tue Jan 22 22:00:34 2013 +0100 @@ -42,7 +42,6 @@ return test2(new Phi(arg), arg); } -// @NEVER_INLINE private static int test2(Phi p, int a) { int arg = a; if (arg > 2) { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi02.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi02.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi02.java Tue Jan 22 22:00:34 2013 +0100 @@ -42,7 +42,6 @@ return test2(new Phi(arg), arg); } -// @NEVER_INLINE private static int test2(Phi p, int a) { int arg = a; if (arg > 2) { @@ -69,7 +68,6 @@ return arg + p.f; } -// @NEVER_INLINE private static void inc(Phi p, int inc) { p.f += inc; } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi03.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi03.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/Phi03.java Tue Jan 22 22:00:34 2013 +0100 @@ -42,7 +42,6 @@ return test2(new Phi(arg), arg); } -// @NEVER_INLINE private static int test2(Phi p, int a) { int arg = a; if (arg > 2) { @@ -69,7 +68,6 @@ return p.f; } -// @NEVER_INLINE private static void inc(Phi p, int inc) { p.f += inc; } diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Jan 22 22:00:34 2013 +0100 @@ -34,6 +34,7 @@ import com.oracle.graal.lir.*; import com.oracle.graal.lir.asm.*; +// @formatter:off public enum AMD64Arithmetic { IADD, ISUB, IMUL, IDIV, IDIVREM, IREM, IUDIV, IUREM, IAND, IOR, IXOR, ISHL, ISHR, IUSHR, LADD, LSUB, LMUL, LDIV, LDIVREM, LREM, LUDIV, LUREM, LAND, LOR, LXOR, LSHL, LSHR, LUSHR, diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Compare.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Compare.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Compare.java Tue Jan 22 22:00:34 2013 +0100 @@ -30,6 +30,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.lir.asm.*; +// @formatter:off public enum AMD64Compare { ICMP, LCMP, ACMP, FCMP, DCMP; diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java Tue Jan 22 22:00:34 2013 +0100 @@ -40,6 +40,7 @@ import com.oracle.graal.lir.asm.*; import com.oracle.graal.nodes.calc.*; +// @formatter:off public class AMD64ControlFlow { public static class ReturnOp extends AMD64LIRInstruction { diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,6 +29,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.lir.asm.*; +// @formatter:off public class AMD64MathIntrinsicOp extends AMD64LIRInstruction { public enum IntrinsicOpcode { SQRT, diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java Tue Jan 22 22:00:34 2013 +0100 @@ -38,6 +38,7 @@ import com.oracle.graal.lir.StandardOp.MoveOp; import com.oracle.graal.lir.asm.*; +// @formatter:off public class AMD64Move { @Opcode("MOVE") diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Tue Jan 22 22:00:34 2013 +0100 @@ -194,6 +194,7 @@ return Debug.scope("CanonicalizeNode", node, new Callable(){ public Boolean call() { ValueNode canonical = ((Canonicalizable) node).canonical(tool); +// @formatter:off // cases: original node: // |Floating|Fixed-unconnected|Fixed-connected| // -------------------------------------------- @@ -206,6 +207,7 @@ // Fixed-connected| 2 | X | 6 | // -------------------------------------------- // X: must not happen (checked with assertions) +// @formatter:on return performReplacement(node, graph, canonical); diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java Tue Jan 22 22:00:34 2013 +0100 @@ -31,23 +31,24 @@ import com.oracle.graal.phases.*; import com.oracle.graal.phases.graph.*; +/** + * Computes probabilities for nodes in a graph. + *

+ * The computation of absolute probabilities works in three steps: + *

    + *
  1. {@link PropagateProbability} traverses the graph in post order (merges after their ends, ...) and keeps track of the "probability state". + * Whenever it encounters a {@link ControlSplitNode} it uses the split's probability information to divide the probability upon the successors. + * Whenever it encounters an {@link Invoke} it assumes that the exception edge is unlikely and propagates the whole probability to the normal successor. + * Whenever it encounters a {@link MergeNode} it sums up the probability of all predecessors. + * It also maintains a set of active loops (whose {@link LoopBeginNode} has been visited) and builds def/use information for step 2.
  2. + *
  3. + *
  4. {@link PropagateLoopFrequency} propagates the loop frequencies and multiplies each {@link FixedNode}'s probability with its loop frequency.
  5. + *
+ * TODO: add exception probability information to Invokes + */ public class ComputeProbabilityPhase extends Phase { private static final double EPSILON = 1d / Integer.MAX_VALUE; - /* - * The computation of absolute probabilities works in three steps: - * - * - The first step, "PropagateProbability", traverses the graph in post order (merges after their ends, ...) and keeps track of the "probability state". - * Whenever it encounters a ControlSplit it uses the split's probability information to divide the probability upon the successors. - * Whenever it encounters an Invoke it assumes that the exception edge is unlikely and propagates the whole probability to the normal successor. - * Whenever it encounters a Merge it sums up the probability of all predecessors. - * It also maintains a set of active loops (whose LoopBegin has been visited) and builds def/use information for the second step. - * - * - The third step propagates the loop frequencies and multiplies each FixedNode's probability with its loop frequency. - * - * TODO: add exception probability information to Invokes - */ - @Override protected void run(StructuredGraph graph) { new PropagateProbability(graph.start()).apply(); diff -r d4bc143c575a -r 4cc0efe5cffe 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 Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Tue Jan 22 22:00:34 2013 +0100 @@ -29,6 +29,7 @@ * * (thomaswue) WARNING: Fields of this class are treated as final by Graal. */ +// @formatter:off public final class GraalOptions { // Checkstyle: stop diff -r d4bc143c575a -r 4cc0efe5cffe graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhasePlan.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhasePlan.java Tue Jan 22 21:06:57 2013 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhasePlan.java Tue Jan 22 22:00:34 2013 +0100 @@ -30,6 +30,7 @@ * Tells the compiler about additional phases that need to be executed during compilation. */ public class PhasePlan { + // @formatter:off /** * The compilation is split into the following sections: * ======================================================================== @@ -52,6 +53,7 @@ MID_LEVEL, LOW_LEVEL } + // @formatter:on @SuppressWarnings("unchecked") private final ArrayList[] phases = new ArrayList[PhasePosition.values().length];