--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java 2017-07-07 09:30:37.000000000 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java 2017-07-07 09:30:37.000000000 -0700 @@ -29,6 +29,7 @@ import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; import org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph; import org.graalvm.compiler.core.common.cfg.BlockMap; +import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.lir.StandardOp.BlockEndOp; import org.graalvm.compiler.lir.StandardOp.LabelOp; import org.graalvm.compiler.lir.gen.LIRGenerator; @@ -62,15 +63,18 @@ private final OptionValues options; + private final DebugContext debug; + /** * Creates a new LIR instance for the specified compilation. */ - public LIR(AbstractControlFlowGraph cfg, AbstractBlockBase[] linearScanOrder, AbstractBlockBase[] codeEmittingOrder, OptionValues options) { + public LIR(AbstractControlFlowGraph cfg, AbstractBlockBase[] linearScanOrder, AbstractBlockBase[] codeEmittingOrder, OptionValues options, DebugContext debug) { this.cfg = cfg; this.codeEmittingOrder = codeEmittingOrder; this.linearScanOrder = linearScanOrder; this.lirInstructions = new BlockMap<>(cfg); this.options = options; + this.debug = debug; } public AbstractControlFlowGraph getControlFlowGraph() { @@ -81,6 +85,10 @@ return options; } + public DebugContext getDebug() { + return debug; + } + /** * Determines if any instruction in the LIR has debug info associated with it. */