diff graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java @ 13725:8d8732e14447

Refactor reference maps.
author Roland Schatz <roland.schatz@oracle.com>
date Wed, 22 Jan 2014 11:27:28 +0100
parents f30814642122
children e79579c921ff
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java	Wed Jan 22 10:51:32 2014 +0100
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java	Wed Jan 22 11:27:28 2014 +0100
@@ -696,8 +696,19 @@
 
     private static void appendDebugInfo(StringBuilder sb, DebugInfo info) {
         if (info != null) {
-            appendRefMap(sb, "stackMap", info.getFrameRefMap());
-            appendRefMap(sb, "registerMap", info.getRegisterRefMap());
+            ReferenceMap refMap = info.getReferenceMap();
+            if (refMap != null) {
+                if (refMap.hasFrameRefMap()) {
+                    sb.append(" stackMap[");
+                    refMap.appendFrameMap(sb, null);
+                    sb.append(']');
+                }
+                if (refMap.hasRegisterRefMap()) {
+                    sb.append(" registerMap[");
+                    refMap.appendRegisterMap(sb, null);
+                    sb.append(']');
+                }
+            }
             RegisterSaveLayout calleeSaveInfo = info.getCalleeSaveInfo();
             if (calleeSaveInfo != null) {
                 sb.append(" callee-save-info[");
@@ -721,12 +732,6 @@
         }
     }
 
-    private static void appendRefMap(StringBuilder sb, String name, BitSet map) {
-        if (map != null) {
-            sb.append(' ').append(name).append('[').append(map.toString()).append(']');
-        }
-    }
-
     /**
      * @return the list of infopoints, sorted by {@link Site#pcOffset}
      */