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