src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.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/asm/CompilationResultBuilder.java
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java
Print this page
*** 32,51 ****
import java.util.List;
import java.util.function.Consumer;
import org.graalvm.compiler.asm.AbstractAddress;
import org.graalvm.compiler.asm.Assembler;
- import org.graalvm.compiler.core.common.NumUtil;
import org.graalvm.compiler.code.CompilationResult;
import org.graalvm.compiler.code.CompilationResult.CodeAnnotation;
import org.graalvm.compiler.code.DataSection.Data;
import org.graalvm.compiler.code.DataSection.RawData;
import org.graalvm.compiler.core.common.cfg.AbstractBlockBase;
import org.graalvm.compiler.core.common.spi.ForeignCallsProvider;
import org.graalvm.compiler.core.common.type.DataPointerConstant;
import org.graalvm.compiler.debug.Assertions;
! import org.graalvm.compiler.debug.Debug;
import org.graalvm.compiler.debug.GraalError;
import org.graalvm.compiler.graph.NodeSourcePosition;
import org.graalvm.compiler.lir.LIR;
import org.graalvm.compiler.lir.LIRFrameState;
import org.graalvm.compiler.lir.LIRInstruction;
--- 32,51 ----
import java.util.List;
import java.util.function.Consumer;
import org.graalvm.compiler.asm.AbstractAddress;
import org.graalvm.compiler.asm.Assembler;
import org.graalvm.compiler.code.CompilationResult;
import org.graalvm.compiler.code.CompilationResult.CodeAnnotation;
import org.graalvm.compiler.code.DataSection.Data;
import org.graalvm.compiler.code.DataSection.RawData;
+ import org.graalvm.compiler.core.common.NumUtil;
import org.graalvm.compiler.core.common.cfg.AbstractBlockBase;
import org.graalvm.compiler.core.common.spi.ForeignCallsProvider;
import org.graalvm.compiler.core.common.type.DataPointerConstant;
import org.graalvm.compiler.debug.Assertions;
! import org.graalvm.compiler.debug.DebugContext;
import org.graalvm.compiler.debug.GraalError;
import org.graalvm.compiler.graph.NodeSourcePosition;
import org.graalvm.compiler.lir.LIR;
import org.graalvm.compiler.lir.LIRFrameState;
import org.graalvm.compiler.lir.LIRInstruction;
*** 143,173 ****
public final FrameContext frameContext;
private List<ExceptionInfo> exceptionInfoList;
private final OptionValues options;
private final EconomicMap<Constant, Data> dataCache;
private Consumer<LIRInstruction> beforeOp;
private Consumer<LIRInstruction> afterOp;
public CompilationResultBuilder(CodeCacheProvider codeCache, ForeignCallsProvider foreignCalls, FrameMap frameMap, Assembler asm, DataBuilder dataBuilder, FrameContext frameContext,
! OptionValues options, CompilationResult compilationResult) {
! this(codeCache, foreignCalls, frameMap, asm, dataBuilder, frameContext, options, compilationResult, EconomicMap.create(Equivalence.DEFAULT));
}
public CompilationResultBuilder(CodeCacheProvider codeCache, ForeignCallsProvider foreignCalls, FrameMap frameMap, Assembler asm, DataBuilder dataBuilder, FrameContext frameContext,
! OptionValues options, CompilationResult compilationResult, EconomicMap<Constant, Data> dataCache) {
this.target = codeCache.getTarget();
this.codeCache = codeCache;
this.foreignCalls = foreignCalls;
this.frameMap = frameMap;
this.asm = asm;
this.dataBuilder = dataBuilder;
this.compilationResult = compilationResult;
this.frameContext = frameContext;
this.options = options;
assert frameContext != null;
this.dataCache = dataCache;
if (dataBuilder.needDetailedPatchingInformation() || Assertions.ENABLED) {
/*
--- 143,175 ----
public final FrameContext frameContext;
private List<ExceptionInfo> exceptionInfoList;
private final OptionValues options;
+ private final DebugContext debug;
private final EconomicMap<Constant, Data> dataCache;
private Consumer<LIRInstruction> beforeOp;
private Consumer<LIRInstruction> afterOp;
public CompilationResultBuilder(CodeCacheProvider codeCache, ForeignCallsProvider foreignCalls, FrameMap frameMap, Assembler asm, DataBuilder dataBuilder, FrameContext frameContext,
! OptionValues options, DebugContext debug, CompilationResult compilationResult) {
! this(codeCache, foreignCalls, frameMap, asm, dataBuilder, frameContext, options, debug, compilationResult, EconomicMap.create(Equivalence.DEFAULT));
}
public CompilationResultBuilder(CodeCacheProvider codeCache, ForeignCallsProvider foreignCalls, FrameMap frameMap, Assembler asm, DataBuilder dataBuilder, FrameContext frameContext,
! OptionValues options, DebugContext debug, CompilationResult compilationResult, EconomicMap<Constant, Data> dataCache) {
this.target = codeCache.getTarget();
this.codeCache = codeCache;
this.foreignCalls = foreignCalls;
this.frameMap = frameMap;
this.asm = asm;
this.dataBuilder = dataBuilder;
this.compilationResult = compilationResult;
this.frameContext = frameContext;
this.options = options;
+ this.debug = debug;
assert frameContext != null;
this.dataCache = dataCache;
if (dataBuilder.needDetailedPatchingInformation() || Assertions.ENABLED) {
/*
*** 261,280 ****
}
public void recordInlineDataInCode(Constant data) {
assert data != null;
int pos = asm.position();
! Debug.log("Inline data in code: pos = %d, data = %s", pos, data);
if (data instanceof VMConstant) {
compilationResult.recordDataPatch(pos, new ConstantReference((VMConstant) data));
}
}
public void recordInlineDataInCodeWithNote(Constant data, Object note) {
assert data != null;
int pos = asm.position();
! Debug.log("Inline data in code: pos = %d, data = %s, note = %s", pos, data, note);
if (data instanceof VMConstant) {
compilationResult.recordDataPatchWithNote(pos, new ConstantReference((VMConstant) data), note);
}
}
--- 263,282 ----
}
public void recordInlineDataInCode(Constant data) {
assert data != null;
int pos = asm.position();
! debug.log("Inline data in code: pos = %d, data = %s", pos, data);
if (data instanceof VMConstant) {
compilationResult.recordDataPatch(pos, new ConstantReference((VMConstant) data));
}
}
public void recordInlineDataInCodeWithNote(Constant data, Object note) {
assert data != null;
int pos = asm.position();
! debug.log("Inline data in code: pos = %d, data = %s, note = %s", pos, data, note);
if (data instanceof VMConstant) {
compilationResult.recordDataPatchWithNote(pos, new ConstantReference((VMConstant) data), note);
}
}
*** 290,300 ****
return recordDataReferenceInCode(constant, constant.getAlignment());
}
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 = dataCache.get(constant);
if (data == null) {
data = dataBuilder.createDataItem(constant);
dataCache.put(constant, data);
}
--- 292,302 ----
return recordDataReferenceInCode(constant, constant.getAlignment());
}
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 = dataCache.get(constant);
if (data == null) {
data = dataBuilder.createDataItem(constant);
dataCache.put(constant, data);
}
*** 302,313 ****
return recordDataSectionReference(data);
}
public AbstractAddress recordDataReferenceInCode(byte[] data, int alignment) {
assert data != null;
! if (Debug.isLogEnabled()) {
! Debug.log("Data reference in code: pos = %d, data = %s", asm.position(), Arrays.toString(data));
}
return recordDataSectionReference(new RawData(data, alignment));
}
/**
--- 304,315 ----
return recordDataSectionReference(data);
}
public AbstractAddress recordDataReferenceInCode(byte[] data, int alignment) {
assert data != null;
! if (debug.isLogEnabled()) {
! debug.log("Data reference in code: pos = %d, data = %s", asm.position(), Arrays.toString(data));
}
return recordDataSectionReference(new RawData(data, alignment));
}
/**
*** 459,469 ****
private void emitBlock(AbstractBlockBase<?> block) {
if (block == null) {
return;
}
! boolean emitComment = Debug.isDumpEnabled(Debug.BASIC_LEVEL) || PrintLIRWithAssembly.getValue(getOptions());
if (emitComment) {
blockComment(String.format("block B%d %s", block.getId(), block.getLoop()));
}
for (LIRInstruction op : lir.getLIRforBlock(block)) {
--- 461,471 ----
private void emitBlock(AbstractBlockBase<?> block) {
if (block == null) {
return;
}
! boolean emitComment = debug.isDumpEnabled(DebugContext.BASIC_LEVEL) || PrintLIRWithAssembly.getValue(getOptions());
if (emitComment) {
blockComment(String.format("block B%d %s", block.getId(), block.getLoop()));
}
for (LIRInstruction op : lir.getLIRforBlock(block)) {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File