Mercurial > hg > graal-compiler
changeset 22338:e50e1e67e17e
LinearScan: change visibility.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Thu, 23 Jul 2015 18:54:21 +0200 |
parents | b4882e47c1f2 |
children | ba6a5a66fa18 |
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/LinearScanLifetimeAnalysisPhase.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinearScanLifetimeAnalysisPhase.java |
diffstat | 3 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Thu Jul 23 18:27:09 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Thu Jul 23 18:54:21 2015 +0200 @@ -115,7 +115,7 @@ final List<? extends AbstractBlockBase<?>> sortedBlocks; /** @see #intervals() */ - private Interval[] intervals; + protected Interval[] intervals; /** * The number of valid entries in {@link #intervals}.
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java Thu Jul 23 18:27:09 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java Thu Jul 23 18:54:21 2015 +0200 @@ -352,7 +352,7 @@ } } - private void reportFailure(int numBlocks) { + protected void reportFailure(int numBlocks) { try (Scope s = Debug.forceLog()) { try (Indent indent = Debug.logAndIndent("report failure")) { @@ -436,7 +436,7 @@ } } - private void verifyLiveness() { + protected void verifyLiveness() { /* * Check that fixed intervals are not live at block boundaries (live set must be empty at * fixed intervals). @@ -520,7 +520,7 @@ } } - changeSpillDefinitionPos(interval, defPos); + changeSpillDefinitionPos(op, operand, interval, defPos); if (registerPriority == RegisterPriority.None && interval.spillState().ordinal() <= SpillState.StartInMemory.ordinal() && isStackSlot(operand)) { // detection of method-parameters and roundfp-results interval.setSpillState(SpillState.StartInMemory); @@ -591,8 +591,11 @@ /** * Eliminates moves from register to stack if the stack slot is known to be correct. + * + * @param op + * @param operand */ - void changeSpillDefinitionPos(Interval interval, int defPos) { + protected void changeSpillDefinitionPos(LIRInstruction op, AllocatableValue operand, Interval interval, int defPos) { assert interval.isSplitParent() : "can only be called for split parents"; switch (interval.spillState()) {
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinearScanLifetimeAnalysisPhase.java Thu Jul 23 18:27:09 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/SSALinearScanLifetimeAnalysisPhase.java Thu Jul 23 18:54:21 2015 +0200 @@ -60,7 +60,7 @@ } } - private static void setHint(final LIRInstruction op, Interval target, Interval source) { + static void setHint(final LIRInstruction op, Interval target, Interval source) { Interval currentHint = target.locationHint(false); if (currentHint == null || currentHint.from() > target.from()) { /*