# HG changeset patch # User Thomas Wuerthinger # Date 1305818242 -7200 # Node ID 108adba3345e92b590fdbc0eb0f2f948bc66d96e # Parent 7e470e1cd3b63d35e5bcd9db256a25394cf9f0be Removed usage of stackmap table for local variable liveness. diff -r 7e470e1cd3b6 -r 108adba3345e graal/GraalCompiler/src/com/sun/c1x/C1XOptions.java --- 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; } } diff -r 7e470e1cd3b6 -r 108adba3345e graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java --- 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++) {