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