Mercurial > hg > truffle
changeset 21203:9f45587ad8f5
LinearScan: add createMoveResolver().
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 29 Apr 2015 17:16:53 +0200 |
parents | a03e95b6d629 |
children | 4a5df5570b7f |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanWalker.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/PhiResolver.java |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Mon Apr 27 16:26:14 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Wed Apr 29 17:16:53 2015 +0200 @@ -200,6 +200,10 @@ return spillMoveFactory; } + protected MoveResolver createMoveResolver() { + return new MoveResolver(this); + } + public static boolean isVariableOrRegister(Value value) { return isVariable(value) || isRegister(value); } @@ -1519,7 +1523,7 @@ try (Indent indent = Debug.logAndIndent("resolve data flow")) { int numBlocks = blockCount(); - MoveResolver moveResolver = new MoveResolver(this); + MoveResolver moveResolver = createMoveResolver(); BitSet blockCompleted = new BitSet(numBlocks); BitSet alreadyResolved = new BitSet(numBlocks);
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanWalker.java Mon Apr 27 16:26:14 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanWalker.java Wed Apr 29 17:16:53 2015 +0200 @@ -74,7 +74,7 @@ LinearScanWalker(LinearScan allocator, Interval unhandledFixedFirst, Interval unhandledAnyFirst) { super(allocator, unhandledFixedFirst, unhandledAnyFirst); - moveResolver = new MoveResolver(allocator); + moveResolver = allocator.createMoveResolver(); spillIntervals = Util.uncheckedCast(new List[allocator.registers.length]); for (int i = 0; i < allocator.registers.length; i++) { spillIntervals[i] = EMPTY_LIST;