hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java
--- a/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java Mon Dec 12 16:16:27 2016 +0300
+++ b/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java Wed Mar 22 13:42:45 2017 -0700
@@ -32,6 +32,7 @@
import org.graalvm.compiler.lir.StandardOp.BlockEndOp;
import org.graalvm.compiler.lir.StandardOp.LabelOp;
import org.graalvm.compiler.lir.gen.LIRGenerator;
+import org.graalvm.compiler.options.OptionValues;
/**
* This class implements the overall container for the LIR graph and directs its construction,
@@ -59,20 +60,27 @@
private boolean hasArgInCallerFrame;
+ private final OptionValues options;
+
/**
* Creates a new LIR instance for the specified compilation.
*/
- public LIR(AbstractControlFlowGraph<?> cfg, AbstractBlockBase<?>[] linearScanOrder, AbstractBlockBase<?>[] codeEmittingOrder) {
+ public LIR(AbstractControlFlowGraph<?> cfg, AbstractBlockBase<?>[] linearScanOrder, AbstractBlockBase<?>[] codeEmittingOrder, OptionValues options) {
this.cfg = cfg;
this.codeEmittingOrder = codeEmittingOrder;
this.linearScanOrder = linearScanOrder;
this.lirInstructions = new BlockMap<>(cfg);
+ this.options = options;
}
public AbstractControlFlowGraph<?> getControlFlowGraph() {
return cfg;
}
+ public OptionValues getOptions() {
+ return options;
+ }
+
/**
* Determines if any instruction in the LIR has debug info associated with it.
*/