Mercurial > hg > graal-jvmci-8
changeset 22246:d1ef84d3776d
Include live base pointers in backend dump.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 20 Jul 2015 15:25:38 +0200 |
parents | 653e85bc19a0 |
children | 60d75935edf2 |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/ValueSet.java graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java |
diffstat | 3 files changed, 33 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/ValueSet.java Mon Jul 20 14:06:46 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/ValueSet.java Mon Jul 20 15:25:38 2015 +0200 @@ -150,4 +150,26 @@ public int hashCode() { throw new UnsupportedOperationException(); } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("["); + boolean comma = false; + + for (int i = 0; i < values.length; i++) { + if (values[i] != null) { + if (comma) { + sb.append(", "); + } else { + comma = true; + } + + sb.append(i); + sb.append(": "); + sb.append(values[i]); + } + } + sb.append(']'); + return sb.toString(); + } }
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Mon Jul 20 14:06:46 2015 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Mon Jul 20 15:25:38 2015 +0200 @@ -455,9 +455,9 @@ inst.forEachState(state -> { if (state.hasDebugInfo()) { DebugInfo di = state.debugInfo(); - stateString.append(debugInfoToString(di.getBytecodePosition(), di.getReferenceMap(), di.getCalleeSaveInfo())); + stateString.append(debugInfoToString(di.getBytecodePosition(), di.getReferenceMap(), state.getLiveBasePointers(), di.getCalleeSaveInfo())); } else { - stateString.append(debugInfoToString(state.topFrame, null, null)); + stateString.append(debugInfoToString(state.topFrame, null, state.getLiveBasePointers(), null)); } }); if (stateString.length() > 0) {
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java Mon Jul 20 14:06:46 2015 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java Mon Jul 20 15:25:38 2015 +0200 @@ -29,6 +29,8 @@ import jdk.internal.jvmci.debug.*; import jdk.internal.jvmci.meta.*; +import com.oracle.graal.lir.dfa.*; + /** * Utility for printing compilation related data structures at various compilation phases. The * output format is such that it can then be fed to the <a @@ -112,12 +114,18 @@ /** * Formats given debug info as a multi line string. */ - protected String debugInfoToString(BytecodePosition codePos, ReferenceMap refMap, RegisterSaveLayout calleeSaveInfo) { + protected String debugInfoToString(BytecodePosition codePos, ReferenceMap refMap, ValueSet liveBasePointers, RegisterSaveLayout calleeSaveInfo) { StringBuilder sb = new StringBuilder(); if (refMap != null) { + sb.append("reference-map: "); sb.append(refMap.toString()); sb.append("\n"); } + if (liveBasePointers != null) { + sb.append("live-base-pointers: "); + sb.append(liveBasePointers); + sb.append("\n"); + } if (calleeSaveInfo != null) { sb.append("callee-save-info:");