--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java 2017-11-03 23:56:57.711951225 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java 2017-11-03 23:56:57.382936502 -0700 @@ -80,10 +80,10 @@ */ public class CompilationResultBuilder { - // @formatter:off - @Option(help = "Include the LIR as comments with the final assembly.", type = OptionType.Debug) - public static final OptionKey PrintLIRWithAssembly = new OptionKey<>(false); - // @formatter:on + public static class Options { + @Option(help = "Include the LIR as comments with the final assembly.", type = OptionType.Debug) // + public static final OptionKey PrintLIRWithAssembly = new OptionKey<>(false); + } private static class ExceptionInfo { @@ -295,13 +295,24 @@ public AbstractAddress recordDataReferenceInCode(Constant constant, int alignment) { assert constant != null; debug.log("Constant reference in code: pos = %d, data = %s", asm.position(), constant); + Data data = createDataItem(constant); + data.updateAlignment(alignment); + return recordDataSectionReference(data); + } + + public AbstractAddress recordDataReferenceInCode(Data data, int alignment) { + assert data != null; + data.updateAlignment(alignment); + return recordDataSectionReference(data); + } + + public Data createDataItem(Constant constant) { Data data = dataCache.get(constant); if (data == null) { data = dataBuilder.createDataItem(constant); dataCache.put(constant, data); } - data.updateAlignment(alignment); - return recordDataSectionReference(data); + return data; } public AbstractAddress recordDataReferenceInCode(byte[] data, int alignment) { @@ -472,7 +483,7 @@ if (block == null) { return; } - boolean emitComment = debug.isDumpEnabled(DebugContext.BASIC_LEVEL) || PrintLIRWithAssembly.getValue(getOptions()); + boolean emitComment = debug.isDumpEnabled(DebugContext.BASIC_LEVEL) || Options.PrintLIRWithAssembly.getValue(getOptions()); if (emitComment) { blockComment(String.format("block B%d %s", block.getId(), block.getLoop())); }