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 hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy.java

Print this page

        

*** 29,38 **** --- 29,39 ---- import org.graalvm.compiler.core.common.alloc.TraceBuilderResult; import org.graalvm.compiler.lir.LIR; import org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase.TraceAllocationContext; import org.graalvm.compiler.lir.gen.LIRGenerationResult; import org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory; + import org.graalvm.compiler.options.OptionValues; import jdk.vm.ci.code.TargetDescription; import jdk.vm.ci.common.JVMCIError; import jdk.vm.ci.meta.AllocatableValue;
*** 61,72 **** --- 62,88 ---- protected final TraceBuilderResult getTraceBuilderResult() { return resultTraces; } + protected final GlobalLivenessInfo getGlobalLivenessInfo() { + return livenessInfo; + } + + protected final RegisterAllocationConfig getRegisterAllocationConfig() { + return registerAllocationConfig; + } + + protected final TargetDescription getTarget() { + return target; + } + /** * Returns {@code true} if the allocation strategy should be used for {@code trace}. + * + * This method must not alter any state of the strategy, nor rely on being called in a + * specific trace order. */ public abstract boolean shouldApplyTo(Trace trace); @SuppressWarnings("hiding") protected abstract TraceAllocationPhase<TraceAllocationContext> initAllocator(TargetDescription target, LIRGenerationResult lirGenRes, MoveFactory spillMoveFactory,
*** 97,106 **** --- 113,126 ---- this.livenessInfo = livenessInfo; this.strategies = new ArrayList<>(3); } + protected OptionValues getOptions() { + return lirGenRes.getLIR().getOptions(); + } + public void appendStrategy(AllocationStrategy strategy) { strategies.add(strategy); } public TraceAllocationPhase<TraceAllocationContext> selectStrategy(Trace trace) {
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