src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java	Mon Mar 20 17:39:55 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java	Mon Mar 20 17:39:55 2017

*** 44,54 **** --- 44,54 ---- protected abstract class AllocationStrategy { TraceAllocationPhase<TraceAllocationContext> allocator; public final TraceAllocationPhase<TraceAllocationContext> getAllocator() { if (allocator == null) { ! allocator = initAllocator(target, lirGenRes, spillMoveFactory, registerAllocationConfig, cachedStackSlots, resultTraces, neverSpillConstants, livenessInfo, strategies); } return allocator; } protected final LIR getLIR() {
*** 69,100 **** --- 69,102 ---- public abstract boolean shouldApplyTo(Trace trace); @SuppressWarnings("hiding") protected abstract TraceAllocationPhase<TraceAllocationContext> initAllocator(TargetDescription target, LIRGenerationResult lirGenRes, MoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig, AllocatableValue[] cachedStackSlots, TraceBuilderResult resultTraces, boolean neverSpillConstant, ! GlobalLivenessInfo livenessInfo, ArrayList<AllocationStrategy> strategies); } private final TargetDescription target; private final LIRGenerationResult lirGenRes; private final MoveFactory spillMoveFactory; private final RegisterAllocationConfig registerAllocationConfig; private final AllocatableValue[] cachedStackSlots; private final TraceBuilderResult resultTraces; private final boolean neverSpillConstants; + private final GlobalLivenessInfo livenessInfo; private final ArrayList<AllocationStrategy> strategies; public TraceRegisterAllocationPolicy(TargetDescription target, LIRGenerationResult lirGenRes, MoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig, ! AllocatableValue[] cachedStackSlots, TraceBuilderResult resultTraces, boolean neverSpillConstant, GlobalLivenessInfo livenessInfo) { this.target = target; this.lirGenRes = lirGenRes; this.spillMoveFactory = spillMoveFactory; this.registerAllocationConfig = registerAllocationConfig; this.cachedStackSlots = cachedStackSlots; this.resultTraces = resultTraces; this.neverSpillConstants = neverSpillConstant; + this.livenessInfo = livenessInfo; this.strategies = new ArrayList<>(3); } public void appendStrategy(AllocationStrategy strategy) {

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File