Mercurial > hg > graal-compiler
diff graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java @ 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 |
line wrap: on
line diff
--- 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++) {