# HG changeset patch # User Josef Eisl # Date 1448877467 -3600 # Node ID b49409694eb59aa2112e08a807b88dde27f1b050 # Parent 9d8f89df0da877dbe65feccbc79c66584cdd52bb AllocationPhase: pass context directly to phases. diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/AllocationStageVerifier.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/AllocationStageVerifier.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/AllocationStageVerifier.java Mon Nov 30 10:57:47 2015 +0100 @@ -31,14 +31,12 @@ import jdk.vm.ci.code.TargetDescription; import jdk.vm.ci.meta.Value; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.lir.LIR; import com.oracle.graal.lir.LIRInstruction; import com.oracle.graal.lir.LIRInstruction.OperandFlag; import com.oracle.graal.lir.LIRInstruction.OperandMode; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; /** @@ -47,8 +45,7 @@ public class AllocationStageVerifier extends AllocationPhase { @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { verifyLIR(lirGenRes.getLIR()); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanAssignLocationsPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanAssignLocationsPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanAssignLocationsPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -37,7 +37,6 @@ import jdk.vm.ci.meta.AllocatableValue; import jdk.vm.ci.meta.Value; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Indent; @@ -52,7 +51,6 @@ import com.oracle.graal.lir.StandardOp.ValueMoveOp; import com.oracle.graal.lir.Variable; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; /** @@ -67,8 +65,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { assignLocations(); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanEliminateSpillMovePhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanEliminateSpillMovePhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanEliminateSpillMovePhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -37,7 +37,6 @@ import jdk.vm.ci.options.OptionType; import jdk.vm.ci.options.OptionValue; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Indent; @@ -49,7 +48,6 @@ import com.oracle.graal.lir.alloc.lsra.Interval.SpillState; import com.oracle.graal.lir.alloc.lsra.LinearScan.IntervalPredicate; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; public class LinearScanEliminateSpillMovePhase extends AllocationPhase { @@ -76,8 +74,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { eliminateSpillMoves(); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -49,7 +49,6 @@ import jdk.vm.ci.meta.Value; import com.oracle.graal.compiler.common.alloc.ComputeBlockOrder; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.compiler.common.util.BitMap2D; import com.oracle.graal.debug.Debug; @@ -66,7 +65,6 @@ import com.oracle.graal.lir.alloc.lsra.Interval.SpillState; import com.oracle.graal.lir.alloc.lsra.LinearScan.BlockData; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; public class LinearScanLifetimeAnalysisPhase extends AllocationPhase { @@ -81,8 +79,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { numberInstructions(); allocator.printLir("Before register allocation", true); computeLocalLiveSets(); diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanOptimizeSpillPositionPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanOptimizeSpillPositionPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanOptimizeSpillPositionPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -32,7 +32,6 @@ import jdk.vm.ci.code.TargetDescription; import jdk.vm.ci.meta.AllocatableValue; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.DebugMetric; @@ -42,7 +41,6 @@ import com.oracle.graal.lir.LIRInstruction.OperandMode; import com.oracle.graal.lir.alloc.lsra.Interval.SpillState; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; public final class LinearScanOptimizeSpillPositionPhase extends AllocationPhase { @@ -57,8 +55,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { optimizeSpillPosition(); allocator.printIntervals("After optimize spill position"); } @@ -125,7 +122,7 @@ /* * The spill block is the begin of the first split child (aka the value is on the * stack). - * + * * The problem is that if spill block has more than one predecessor, the values at the * end of the predecessors might differ. Therefore, we would need a spill move in all * predecessors. To avoid this we spill in the dominator. diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -46,8 +46,9 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { + MoveFactory spillMoveFactory = context.spillMoveFactory; + RegisterAllocationConfig registerAllocationConfig = context.registerAllocationConfig; final LinearScan allocator; switch (LinearScanVariant.getValue()) { case SSI_LSRA: diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanRegisterAllocationPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanRegisterAllocationPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanRegisterAllocationPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -26,12 +26,10 @@ import jdk.vm.ci.code.TargetDescription; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Indent; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; public final class LinearScanRegisterAllocationPhase extends AllocationPhase { @@ -43,8 +41,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { allocator.printIntervals("Before register allocation"); allocateRegisters(); allocator.printIntervals("After register allocation"); diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanResolveDataFlowPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanResolveDataFlowPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScanResolveDataFlowPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -29,14 +29,12 @@ import jdk.vm.ci.code.TargetDescription; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Indent; import com.oracle.graal.lir.LIRInstruction; import com.oracle.graal.lir.StandardOp; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; /** @@ -53,8 +51,7 @@ } @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { resolveDataFlow(); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceRegisterAllocationPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceRegisterAllocationPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/trace/TraceRegisterAllocationPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -70,8 +70,9 @@ @Override @SuppressWarnings("try") - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { + MoveFactory spillMoveFactory = context.spillMoveFactory; + RegisterAllocationConfig registerAllocationConfig = context.registerAllocationConfig; LIR lir = lirGenRes.getLIR(); assert SSIVerifier.verify(lir) : "LIR not in SSI form."; B startBlock = linearScanOrder.get(0); @@ -79,7 +80,8 @@ TraceBuilderResult resultTraces = TraceBuilder.computeTraces(startBlock, linearScanOrder); TraceStatisticsPrinter.printTraceStatistics(resultTraces, lirGenRes.getCompilationUnitName()); - TraceAllocationContext context = new TraceAllocationContext(spillMoveFactory, registerAllocationConfig); + // TODO (je) merge with AllocationContex + TraceAllocationContext traceContext = new TraceAllocationContext(spillMoveFactory, registerAllocationConfig); Debug.dump(lir, "Before TraceRegisterAllocation"); int traceNumber = 0; @@ -91,7 +93,7 @@ } Debug.dump(TRACE_DUMP_LEVEL, trace, "Trace" + traceNumber + ": " + trace); if (Options.TraceRAtrivialBlockAllocator.getValue() && isTrivialTrace(lir, trace)) { - new TraceTrivialAllocator(resultTraces).apply(target, lirGenRes, codeEmittingOrder, trace, context, false); + new TraceTrivialAllocator(resultTraces).apply(target, lirGenRes, codeEmittingOrder, trace, traceContext, false); } else { TraceLinearScan allocator = new TraceLinearScan(target, lirGenRes, spillMoveFactory, registerAllocationConfig, trace, resultTraces, false); allocator.allocate(target, lirGenRes, codeEmittingOrder, linearScanOrder, spillMoveFactory, registerAllocationConfig); @@ -105,8 +107,8 @@ } Debug.dump(lir, "After trace allocation"); - new TraceGlobalMoveResolutionPhase(resultTraces).apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); - new TraceRegisterAllocationFixupPhase().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); + new TraceGlobalMoveResolutionPhase(resultTraces).apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, traceContext); + new TraceRegisterAllocationFixupPhase().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, traceContext); } static boolean isTrivialTrace(LIR lir, List> trace) { diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/LocationMarkerPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -34,7 +34,6 @@ import jdk.vm.ci.meta.LIRKind; import jdk.vm.ci.meta.Value; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.lir.LIR; import com.oracle.graal.lir.LIRFrameState; @@ -42,7 +41,6 @@ import com.oracle.graal.lir.framemap.FrameMap; import com.oracle.graal.lir.framemap.ReferenceMapBuilder; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; /** @@ -52,8 +50,7 @@ public final class LocationMarkerPhase extends AllocationPhase { @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { new Marker(lirGenRes.getLIR(), lirGenRes.getFrameMap()).build(); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/MarkBasePointersPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/MarkBasePointersPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/dfa/MarkBasePointersPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -27,7 +27,6 @@ import jdk.vm.ci.code.TargetDescription; import jdk.vm.ci.meta.Value; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.lir.LIR; import com.oracle.graal.lir.LIRFrameState; @@ -35,7 +34,6 @@ import com.oracle.graal.lir.Variable; import com.oracle.graal.lir.framemap.FrameMap; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; import com.oracle.graal.lir.util.IndexedValueMap; import com.oracle.graal.lir.util.ValueSet; @@ -46,8 +44,7 @@ public final class MarkBasePointersPhase extends AllocationPhase { @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { new Marker(lirGenRes.getLIR(), null).build(); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/AllocationPhase.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/AllocationPhase.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/AllocationPhase.java Mon Nov 30 10:57:47 2015 +0100 @@ -22,20 +22,14 @@ */ package com.oracle.graal.lir.phases; -import java.util.List; - -import jdk.vm.ci.code.TargetDescription; - import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; -import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; -import com.oracle.graal.lir.gen.LIRGenerationResult; import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; public abstract class AllocationPhase extends LIRPhase { public static final class AllocationContext { - private final MoveFactory spillMoveFactory; - private final RegisterAllocationConfig registerAllocationConfig; + public final MoveFactory spillMoveFactory; + public final RegisterAllocationConfig registerAllocationConfig; public AllocationContext(MoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig) { this.spillMoveFactory = spillMoveFactory; @@ -43,12 +37,4 @@ } } - @Override - protected final > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { - run(target, lirGenRes, codeEmittingOrder, linearScanOrder, context.spillMoveFactory, context.registerAllocationConfig); - } - - protected abstract > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, - MoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig); - } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/LSStackSlotAllocator.java Mon Nov 30 10:57:47 2015 +0100 @@ -44,7 +44,6 @@ import jdk.vm.ci.options.Option; import jdk.vm.ci.options.OptionType; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Debug.Scope; @@ -61,7 +60,6 @@ import com.oracle.graal.lir.framemap.SimpleVirtualStackSlot; import com.oracle.graal.lir.framemap.VirtualStackSlotRange; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; /** @@ -91,8 +89,7 @@ private static final DebugTimer AssignSlotsTimer = Debug.timer("LSStackSlotAllocator[AssignSlots]"); @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { lirGenRes.buildFrameMap(this); } diff -r 9d8f89df0da8 -r b49409694eb5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/SimpleStackSlotAllocator.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/SimpleStackSlotAllocator.java Mon Nov 30 10:50:39 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/stackslotalloc/SimpleStackSlotAllocator.java Mon Nov 30 10:57:47 2015 +0100 @@ -31,7 +31,6 @@ import jdk.vm.ci.code.TargetDescription; import jdk.vm.ci.common.JVMCIError; -import com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig; import com.oracle.graal.compiler.common.cfg.AbstractBlockBase; import com.oracle.graal.debug.Debug; import com.oracle.graal.debug.Debug.Scope; @@ -43,14 +42,12 @@ import com.oracle.graal.lir.framemap.SimpleVirtualStackSlot; import com.oracle.graal.lir.framemap.VirtualStackSlotRange; import com.oracle.graal.lir.gen.LIRGenerationResult; -import com.oracle.graal.lir.gen.LIRGeneratorTool.MoveFactory; import com.oracle.graal.lir.phases.AllocationPhase; public class SimpleStackSlotAllocator extends AllocationPhase implements StackSlotAllocator { @Override - protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, MoveFactory spillMoveFactory, - RegisterAllocationConfig registerAllocationConfig) { + protected > void run(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, AllocationContext context) { lirGenRes.buildFrameMap(this); }