public class AMD64Call extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
AMD64Call.CallOp |
static class |
AMD64Call.DirectCallOp |
static class |
AMD64Call.DirectFarForeignCallOp |
static class |
AMD64Call.DirectNearForeignCallOp |
static class |
AMD64Call.ForeignCallOp |
static class |
AMD64Call.IndirectCallOp |
static class |
AMD64Call.MethodCallOp |
| Constructor and Description |
|---|
AMD64Call() |
| Modifier and Type | Method and Description |
|---|---|
static int |
directCall(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
InvokeTarget callTarget,
Register scratch,
boolean align,
LIRFrameState info) |
static void |
directInlineCacheCall(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
InvokeTarget callTarget,
CompilationResult.MarkId markId,
long nonOopBits,
LIRFrameState info)
Emits a direct call instruction, immediately preceded by a mov instruction.
|
static void |
directJmp(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
ForeignCallLinkage target,
Register scratch) |
static int |
indirectCall(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
Register dst,
InvokeTarget callTarget,
LIRFrameState info) |
static int |
indirectCall(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
Register dst,
InvokeTarget callTarget,
LIRFrameState info,
boolean mitigateDecodingAsDirectCall) |
static void |
recordDirectCall(CompilationResultBuilder crb,
AMD64MacroAssembler masm,
ForeignCallLinkage target,
int before) |
public static int directCall(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget callTarget, Register scratch, boolean align, LIRFrameState info)
scratch - register to use for call target address when emitting a far callalign - indicates whether the displacement operand of an immediate call instruction must
be 4-byte alignedpublic static void directInlineCacheCall(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget callTarget, CompilationResult.MarkId markId, long nonOopBits, LIRFrameState info)
[Entry Point] code section for receiver
type check.nonOopBits - placeholder bit pattern for inline cache receiver type patchingpublic static void directJmp(CompilationResultBuilder crb, AMD64MacroAssembler masm, ForeignCallLinkage target, Register scratch)
public static void recordDirectCall(CompilationResultBuilder crb, AMD64MacroAssembler masm, ForeignCallLinkage target, int before)
public static int indirectCall(CompilationResultBuilder crb, AMD64MacroAssembler masm, Register dst, InvokeTarget callTarget, LIRFrameState info)
public static int indirectCall(CompilationResultBuilder crb, AMD64MacroAssembler masm, Register dst, InvokeTarget callTarget, LIRFrameState info, boolean mitigateDecodingAsDirectCall)