public abstract class Stub extends Object
| Modifier and Type | Field and Description |
|---|---|
protected InstalledCode |
code
The code installed for the stub.
|
protected HotSpotForeignCallLinkage |
linkage
The linkage information for a call to this stub from compiled code.
|
protected OptionValues |
options |
protected HotSpotProviders |
providers |
| Constructor and Description |
|---|
Stub(OptionValues options,
HotSpotProviders providers,
HotSpotForeignCallLinkage linkage)
Creates a new stub.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkSafeDataReference(DataPatch data) |
protected LIRSuites |
createLIRSuites() |
protected Suites |
createSuites() |
protected abstract Object |
debugScopeContext()
Gets a context object for the debug scope created when producing the code for this stub.
|
InstalledCode |
getCode(Backend backend)
Gets the code for this stub, compiling it first if necessary.
|
CompilationResult |
getCompilationResult(DebugContext debug,
Backend backend)
Gets a
CompilationResult that can be used for code generation. |
org.graalvm.collections.EconomicSet<Register> |
getDestroyedCallerRegisters()
Gets the registers destroyed by this stub from a caller's perspective.
|
protected abstract StructuredGraph |
getGraph(DebugContext debug,
CompilationIdentifier compilationId)
Gets the graph that from which the code for this stub will be compiled.
|
protected abstract ResolvedJavaMethod |
getInstalledCodeOwner()
Gets the method the stub's code will be associated with once installed.
|
HotSpotForeignCallLinkage |
getLinkage()
Gets the linkage for a call to this stub from compiled code.
|
RegisterConfig |
getRegisterConfig() |
CompilationIdentifier |
getStubCompilationId() |
void |
initDestroyedCallerRegisters(org.graalvm.collections.EconomicSet<Register> registers) |
boolean |
shouldSaveRegistersAroundCalls() |
String |
toString() |
protected final HotSpotForeignCallLinkage linkage
protected InstalledCode code
protected final OptionValues options
protected final HotSpotProviders providers
public Stub(OptionValues options, HotSpotProviders providers, HotSpotForeignCallLinkage linkage)
linkage - linkage details for a call to the stubpublic void initDestroyedCallerRegisters(org.graalvm.collections.EconomicSet<Register> registers)
public org.graalvm.collections.EconomicSet<Register> getDestroyedCallerRegisters()
public boolean shouldSaveRegistersAroundCalls()
public HotSpotForeignCallLinkage getLinkage()
public RegisterConfig getRegisterConfig()
protected abstract StructuredGraph getGraph(DebugContext debug, CompilationIdentifier compilationId)
compilationId - unique compilation id for the stubprotected abstract ResolvedJavaMethod getInstalledCodeOwner()
protected abstract Object debugScopeContext()
public InstalledCode getCode(Backend backend)
public CompilationResult getCompilationResult(DebugContext debug, Backend backend)
CompilationResult that can be used for code generation. Required for AOT.public CompilationIdentifier getStubCompilationId()
protected void checkSafeDataReference(DataPatch data)
protected Suites createSuites()
protected LIRSuites createLIRSuites()