Mercurial > hg > truffle
changeset 15127:dc774fe9d0e0
BaselineCompiler: use PhiResolver.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 15 Apr 2014 19:52:23 +0200 |
parents | bd4c7b669bd8 |
children | d0e2d565176f |
files | graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java test/baseline_whitelist.txt |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Wed Apr 16 11:16:36 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Tue Apr 15 19:52:23 2014 +0200 @@ -57,7 +57,7 @@ private LocalLiveness liveness; private BciBlockBitMap blockVisited; - private class BciBlockBitMap { + private static class BciBlockBitMap { BitSet bitSet; public BciBlockBitMap(BciBlockMapping blockMap) { @@ -663,30 +663,31 @@ Debug.log("moveConstantsToVariables: framestate after: %s", frameState); } - private void adaptValues(Value dst, Value src) { + private static void adaptValues(Value dst, Value src, PhiResolver resolver) { if (dst == null) { return; } assert src != null : "Source is null but Destination is not!"; if (!dst.equals(src)) { - assert dst instanceof AllocatableValue : "Not an AllocatableValue: " + dst; - gen.emitMove((AllocatableValue) dst, src); + resolver.move(dst, src); } } private void adaptFramestate(LIRFrameStateBuilder other) { assert frameState.isCompatibleWith(other) : "framestates not compatible!"; + PhiResolver resolver = new PhiResolver(gen); for (int i = 0; i < frameState.stackSize(); i++) { Value src = frameState.stackAt(i); Value dst = other.stackAt(i); - adaptValues(dst, src); + adaptValues(dst, src, resolver); } for (int i = 0; i < frameState.localsSize(); i++) { Value src = frameState.localAt(i); Value dst = other.localAt(i); - adaptValues(dst, src); + adaptValues(dst, src, resolver); } + resolver.dispose(); } @Override
--- a/test/baseline_whitelist.txt Wed Apr 16 11:16:36 2014 +0200 +++ b/test/baseline_whitelist.txt Tue Apr 15 19:52:23 2014 +0200 @@ -1,4 +1,6 @@ com.oracle.graal.jtt.loop.Loop03 +com.oracle.graal.jtt.loop.Loop04 +com.oracle.graal.jtt.loop.Loop08 com.oracle.graal.jtt.bytecode.BC_iadd com.oracle.graal.jtt.bytecode.BC_iadd2 com.oracle.graal.jtt.bytecode.BC_iadd3