public abstract class TruffleCallBoundaryInstrumentation extends CompilationResultBuilder
CompilationResultBuilder.Options, CompilationResultBuilder.PendingImplicitException| Modifier and Type | Field and Description |
|---|---|
protected GraalHotSpotVMConfig |
config |
protected MetaAccessProvider |
metaAccess |
protected HotSpotRegistersProvider |
registers |
asm, codeCache, compilationResult, currentBlockIndex, dataBuilder, foreignCalls, frameContext, frameMap, lir, providers, target, uncompressedNullRegister| Constructor and Description |
|---|
TruffleCallBoundaryInstrumentation(CodeGenProviders providers,
FrameMap frameMap,
Assembler asm,
DataBuilder dataBuilder,
FrameContext frameContext,
OptionValues options,
DebugContext debug,
CompilationResult compilationResult,
GraalHotSpotVMConfig config,
HotSpotRegistersProvider registers) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
injectTailCallCode(int installedCodeOffset,
int entryPointOffset)
Injects code into the verified entry point of that makes a tail-call to the target callee.
|
CompilationResult.CodeMark |
recordMark(CompilationResult.MarkId id)
Associates
markId with the current assembler position in the compilation result. |
asAddress, asByteAddr, asDoubleAddr, asDoubleConst, asDoubleConstRef, asDoubleConstRef, asFloatAddr, asFloatConst, asFloatConstRef, asFloatConstRef, asIntAddr, asIntConst, asLongAddr, asLongConst, asLongConstRef, asObjectConstRef, asShortAddr, blockComment, buildLabelOffsets, closeCompilationResult, createDataItem, emit, finish, getLastImplicitExceptionOffset, getLIR, getOptions, getPendingImplicitExceptionList, hasImplicitException, isSuccessorEdge, labelWithinLIRRange, mustReplaceWithUncompressedNullRegister, needsClearUpperVectorRegisters, needsMHDeoptHandler, recordDataReferenceInCode, recordDataReferenceInCode, recordDataSectionReference, recordDirectCall, recordExceptionHandlers, recordImplicitException, recordImplicitException, recordIndirectCall, recordInfopoint, recordInfopoint, recordInlineDataInCode, recordInlineDataInCodeWithNote, recordMark, recordSourceMapping, resetForEmittingCode, setConservativeLabelRanges, setMaxInterpreterFrameSize, setNeedsMHDeoptHandler, setTotalFrameSizeprotected final GraalHotSpotVMConfig config
protected final HotSpotRegistersProvider registers
protected final MetaAccessProvider metaAccess
public TruffleCallBoundaryInstrumentation(CodeGenProviders providers, FrameMap frameMap, Assembler asm, DataBuilder dataBuilder, FrameContext frameContext, OptionValues options, DebugContext debug, CompilationResult compilationResult, GraalHotSpotVMConfig config, HotSpotRegistersProvider registers)
public CompilationResult.CodeMark recordMark(CompilationResult.MarkId id)
CompilationResultBuildermarkId with the current assembler position in the compilation result.recordMark in class CompilationResultBuilderprotected abstract void injectTailCallCode(int installedCodeOffset,
int entryPointOffset)
entryPointOffset - offset of the field HotSpotOptimizedCallTarget.installedCodeinstalledCodeOffset - offset of the field InstalledCode.entryPoint