comparison graal/com.oracle.max.criutils/src/com/oracle/max/criutils/CompilationPrinter.java @ 5547:b6617d13ea44

Dropping Ci* prefixes. Some additional renamings in the api.code interface.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sat, 09 Jun 2012 20:10:05 +0200
parents e318468952f5
children 69a8969dbf40
comparison
equal deleted inserted replaced
5546:e42c0df7212a 5547:b6617d13ea44
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 */ 22 */
23 package com.oracle.max.criutils; 23 package com.oracle.max.criutils;
24 24
25 import static com.oracle.graal.api.code.CiValueUtil.*; 25 import static com.oracle.graal.api.code.ValueUtil.*;
26 26
27 import java.io.*; 27 import java.io.*;
28 import java.util.*; 28 import java.util.*;
29 29
30 import com.oracle.graal.api.code.*; 30 import com.oracle.graal.api.code.*;
95 * 95 *
96 * @param method the method for which a timestamp will be printed 96 * @param method the method for which a timestamp will be printed
97 */ 97 */
98 public void printCompilation(JavaMethod method) { 98 public void printCompilation(JavaMethod method) {
99 begin("compilation"); 99 begin("compilation");
100 out.print("name \" ").print(CiUtil.format("%H::%n", method)).println('"'); 100 out.print("name \" ").print(CodeUtil.format("%H::%n", method)).println('"');
101 out.print("method \"").print(CiUtil.format("%f %r %H.%n(%p)", method)).println('"'); 101 out.print("method \"").print(CodeUtil.format("%f %r %H.%n(%p)", method)).println('"');
102 out.print("date ").println(System.currentTimeMillis()); 102 out.print("date ").println(System.currentTimeMillis());
103 end("compilation"); 103 end("compilation");
104 } 104 }
105 105
106 /** 106 /**
107 * Formats a given {@linkplain FrameState JVM frame state} as a multi line string. 107 * Formats a given {@linkplain FrameState JVM frame state} as a multi line string.
108 */ 108 */
109 protected String debugInfoToString(CiCodePos codePos, BitSet registerRefMap, BitSet frameRefMap, CiArchitecture arch) { 109 protected String debugInfoToString(BytecodePosition codePos, BitSet registerRefMap, BitSet frameRefMap, Architecture arch) {
110 StringBuilder sb = new StringBuilder(); 110 StringBuilder sb = new StringBuilder();
111 111
112 if (registerRefMap != null) { 112 if (registerRefMap != null) {
113 sb.append("reg-ref-map:"); 113 sb.append("reg-ref-map:");
114 for (int reg = registerRefMap.nextSetBit(0); reg >= 0; reg = registerRefMap.nextSetBit(reg + 1)) { 114 for (int reg = registerRefMap.nextSetBit(0); reg >= 0; reg = registerRefMap.nextSetBit(reg + 1)) {
124 } 124 }
125 sb.append("\n"); 125 sb.append("\n");
126 } 126 }
127 127
128 if (codePos != null) { 128 if (codePos != null) {
129 CiCodePos curCodePos = codePos; 129 BytecodePosition curCodePos = codePos;
130 List<CiVirtualObject> virtualObjects = new ArrayList<>(); 130 List<VirtualObject> virtualObjects = new ArrayList<>();
131 do { 131 do {
132 sb.append(CiUtil.toLocation(curCodePos.method, curCodePos.bci)); 132 sb.append(CodeUtil.toLocation(curCodePos.method, curCodePos.bci));
133 sb.append('\n'); 133 sb.append('\n');
134 if (curCodePos instanceof CiFrame) { 134 if (curCodePos instanceof BytecodeFrame) {
135 CiFrame frame = (CiFrame) curCodePos; 135 BytecodeFrame frame = (BytecodeFrame) curCodePos;
136 if (frame.numStack > 0) { 136 if (frame.numStack > 0) {
137 sb.append("stack: "); 137 sb.append("stack: ");
138 for (int i = 0; i < frame.numStack; i++) { 138 for (int i = 0; i < frame.numStack; i++) {
139 sb.append(valueToString(frame.getStackValue(i), virtualObjects)).append(' '); 139 sb.append(valueToString(frame.getStackValue(i), virtualObjects)).append(' ');
140 } 140 }
156 } 156 }
157 curCodePos = curCodePos.caller; 157 curCodePos = curCodePos.caller;
158 } while (curCodePos != null); 158 } while (curCodePos != null);
159 159
160 for (int i = 0; i < virtualObjects.size(); i++) { 160 for (int i = 0; i < virtualObjects.size(); i++) {
161 CiVirtualObject obj = virtualObjects.get(i); 161 VirtualObject obj = virtualObjects.get(i);
162 sb.append(obj).append(" ").append(obj.type().name()).append(" "); 162 sb.append(obj).append(" ").append(obj.type().name()).append(" ");
163 for (int j = 0; j < obj.values().length; j++) { 163 for (int j = 0; j < obj.values().length; j++) {
164 sb.append(valueToString(obj.values()[j], virtualObjects)).append(' '); 164 sb.append(valueToString(obj.values()[j], virtualObjects)).append(' ');
165 } 165 }
166 sb.append("\n"); 166 sb.append("\n");
168 } 168 }
169 } 169 }
170 return sb.toString(); 170 return sb.toString();
171 } 171 }
172 172
173 protected String valueToString(Value value, List<CiVirtualObject> virtualObjects) { 173 protected String valueToString(Value value, List<VirtualObject> virtualObjects) {
174 if (value == null) { 174 if (value == null) {
175 return "-"; 175 return "-";
176 } 176 }
177 if (isVirtualObject(value) && !virtualObjects.contains(asVirtualObject(value))) { 177 if (isVirtualObject(value) && !virtualObjects.contains(asVirtualObject(value))) {
178 virtualObjects.add(asVirtualObject(value)); 178 virtualObjects.add(asVirtualObject(value));