changeset 2729:108adba3345e

Removed usage of stackmap table for local variable liveness.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Thu, 19 May 2011 17:17:22 +0200
parents 7e470e1cd3b6
children 027adfafd47e a2f62de90c76
files graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java
diffstat 2 files changed, 0 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java	Thu May 19 17:13:30 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java	Thu May 19 17:17:22 2011 +0200
@@ -126,7 +126,6 @@
 
     // Runtime settings
     public static int     ReadPrefetchInstr             = 0;
-    public static boolean UseStackMapTableLiveness      = ____;
     public static int     StackShadowPages              = 2;
 
     // Assembler settings
@@ -157,7 +156,6 @@
         OptInline                       = ll;
 
         // Level 3 optimizations
-        UseStackMapTableLiveness        = lll;
         UseAssumptions                  = lll;
     }
 }
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java	Thu May 19 17:13:30 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java	Thu May 19 17:17:22 2011 +0200
@@ -273,18 +273,6 @@
             // copy state because it is modified
             FrameState duplicate = newState.duplicate(bci());
 
-            if (C1XOptions.UseStackMapTableLiveness && method != null) {
-                // if a liveness map is available, use it to invalidate dead locals
-                CiBitMap[] livenessMap = method.livenessMap();
-                if (livenessMap != null && bci() >= 0) {
-                    assert bci() < livenessMap.length;
-                    CiBitMap liveness = livenessMap[bci()];
-                    if (liveness != null) {
-                        invalidateDeadLocals(duplicate, liveness);
-                    }
-                }
-            }
-
             // if the block is a loop header, insert all necessary phis
             if (isParserLoopHeader()) {
                 insertLoopPhis(duplicate);
@@ -304,20 +292,6 @@
         }
     }
 
-    private void invalidateDeadLocals(FrameState newState, CiBitMap liveness) {
-        int max = newState.localsSize();
-        assert max <= liveness.size();
-        for (int i = 0; i < max; i++) {
-            Value x = newState.localAt(i);
-            if (x != null) {
-                if (!liveness.get(i)) {
-                    // invalidate the local if it is not live
-                    newState.invalidateLocal(i);
-                }
-            }
-        }
-    }
-
     private void insertLoopPhis(FrameState newState) {
         int stackSize = newState.stackSize();
         for (int i = 0; i < stackSize; i++) {