# HG changeset patch # User Erik Eckstein # Date 1385383693 -3600 # Node ID 4e599571ddb213d0f1cd4013f501fe422da8b374 # Parent 401830ff96f426d278d480f3aa86b52570b3aaf4 make graph builder more visible for derived classes; add few indent levels for debug logging diff -r 401830ff96f4 -r 4e599571ddb2 graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Mon Nov 25 13:41:18 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Mon Nov 25 13:48:13 2013 +0100 @@ -438,7 +438,7 @@ } } - private void storeStack(int i, ValueNode x) { + public void storeStack(int i, ValueNode x) { assert x == null || x.isAlive() && (stack[i] == null || x.kind() == stack[i].kind()) : "Method does not handle changes from one-slot to two-slot values or non-alive values"; stack[i] = x; } diff -r 401830ff96f4 -r 4e599571ddb2 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 Mon Nov 25 13:41:18 2013 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Mon Nov 25 13:48:13 2013 +0100 @@ -211,12 +211,14 @@ return map; } - private void build() { + protected void build() { if (PrintProfilingInformation.getValue()) { - TTY.println("Profiling info for " + MetaUtil.format("%H.%n(%p)", method)); + TTY.println("Profiling info for " + method); TTY.println(MetaUtil.indent(MetaUtil.profileToString(profilingInfo, method, CodeUtil.NEW_LINE), " ")); } + Indent indent = Debug.logAndIndent(false, "build graph for %s", method.toString()); + // compute the block map, setup exception handlers and get the entrypoint(s) BciBlockMapping blockMap = createBlockMap(); loopHeaders = blockMap.loopHeaders; @@ -275,6 +277,7 @@ n.safeDelete(); } } + indent.outdent(); } private Block unwindBlock(int bci) { @@ -1590,7 +1593,7 @@ Debug.log("Ignoring block %s", block); return; } - Debug.log("Parsing block %s firstInstruction: %s loopHeader: %b", block, block.firstInstruction, block.isLoopHeader); + Indent indent = Debug.logAndIndent("Parsing block %s firstInstruction: %s loopHeader: %b", block, block.firstInstruction, block.isLoopHeader); lastInstr = block.firstInstruction; frameState = block.entryState; @@ -1617,6 +1620,7 @@ frameState.setRethrowException(false); iterateBytecodesForBlock(block); } + indent.outdent(); } private void connectLoopEndToBegin() {