hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java
changeset 46344 694c102fd8ed
parent 43972 1ade39b8381b
child 46640 70bdce04c59b
--- 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.
      */