public class SubstrateInstalledCodeImpl extends jdk.vm.ci.code.InstalledCode implements SubstrateInstalledCode
SubstrateInstalledCode
, so no code within Substrate VM must assume that
this is the only representation of runtime compiled code.
Metadata for the code is maintained by the class CodeInfo
.SubstrateInstalledCode.Access
Constructor and Description |
---|
SubstrateInstalledCodeImpl(SharedRuntimeMethod method) |
SubstrateInstalledCodeImpl(String name,
SharedRuntimeMethod method) |
Modifier and Type | Method and Description |
---|---|
void |
clearAddress() |
Object |
executeVarargs(Object... args) |
byte[] |
getCode() |
jdk.vm.ci.meta.ResolvedJavaMethod |
getMethod()
Returns the last method object passed to
SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod) . |
SubstrateSpeculationLog |
getSpeculationLog() |
long |
getStart() |
void |
invalidate() |
void |
setAddress(long address,
jdk.vm.ci.meta.ResolvedJavaMethod method) |
getAddress, getEntryPoint, getName, getVersion, isAlive, isValid
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAddress, getName, isValid
public SubstrateInstalledCodeImpl(SharedRuntimeMethod method)
public SubstrateInstalledCodeImpl(String name, SharedRuntimeMethod method)
public jdk.vm.ci.meta.ResolvedJavaMethod getMethod()
SubstrateInstalledCode
SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
. The return value might be
passed as the argument to future calls to SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
.
May return null
if the subclass does not have a use for the method object (also not
in SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
) and therefore no need to retain it. Expected to return null
if SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
has never been called, or after SubstrateInstalledCode.clearAddress()
has been called.
getMethod
in interface SubstrateInstalledCode
public void setAddress(long address, jdk.vm.ci.meta.ResolvedJavaMethod method)
setAddress
in interface SubstrateInstalledCode
public void clearAddress()
clearAddress
in interface SubstrateInstalledCode
public SubstrateSpeculationLog getSpeculationLog()
getSpeculationLog
in interface SubstrateInstalledCode
public long getStart()
getStart
in class jdk.vm.ci.code.InstalledCode
public byte[] getCode()
getCode
in class jdk.vm.ci.code.InstalledCode
public void invalidate()
invalidate
in interface SubstrateInstalledCode
invalidate
in class jdk.vm.ci.code.InstalledCode