# HG changeset patch # User Josef Eisl # Date 1397584343 -7200 # Node ID dc774fe9d0e0106368e198da303ed1883f6c7029 # Parent bd4c7b669bd8ec0b8d8430b494d15eb829071bb2 BaselineCompiler: use PhiResolver. diff -r bd4c7b669bd8 -r dc774fe9d0e0 graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java --- 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 diff -r bd4c7b669bd8 -r dc774fe9d0e0 test/baseline_whitelist.txt --- 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