Top Description Fields Constructors Methods
jdk.vm.ci.code

public Class InstalledCode

extends Object
Class Inheritance
Known Direct Subclasses
jdk.vm.ci.hotspot.HotSpotInstalledCode

Represents a compiled instance of a method. It may have been invalidated or removed in the meantime.

Field Summary

Modifier and TypeField and Description
protected long
address

Address of the entity (e.g., HotSpot nmethod or RuntimeStub) representing this installed code.

protected long
entryPoint

Address of the entryPoint of this installed code.

protected final String
protected long
version

Counts how often the address field was reassigned.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object

Returns:

the value returned by the executed code
executeVarargs
(Object...
the array of object arguments
args
)

Executes the installed code with a variable number of arguments.

public long

Returns:

the address of entity (e.g., HotSpot nmethod or RuntimeStub) representing this installed code
getAddress
()

public byte[]
getCode()

Returns a copy of this installed code if it is valid, null otherwise.

public long

Returns:

the address of the normal entry point of the installed code.
getEntryPoint
()

public String
getName()

Returns the name of this installed code.

public long
getStart()

Returns the start address of this installed code if it is valid, 0 otherwise.

public final long

Returns:

the version number of this installed code
getVersion
()

public void
invalidate()

Equivalent to calling invalidate(boolean) with a true argument.

public void
invalidate(boolean
if true, all existing invocations will be immediately deoptimized. If false, any existing invocation will continue until it completes or there is a subsequent call to this method with deoptimize == true before the invocation completes.
deoptimize
)

Invalidates this installed code such that any subsequent invocation will throw an InvalidInstalledCodeException.

public boolean

Returns:

true if this object still points to installed code
isAlive
()

public boolean

Returns:

true if the code represented by this object is still valid for invocation, false otherwise (may happen due to deopt, etc.)
isValid
()

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

addressback to summary
protected long address

Address of the entity (e.g., HotSpot nmethod or RuntimeStub) representing this installed code.

entryPointback to summary
protected long entryPoint

Address of the entryPoint of this installed code.

nameback to summary
protected final String name
versionback to summary
protected long version

Counts how often the address field was reassigned.

Constructor Detail

InstalledCodeback to summary
public InstalledCode(String name)

Method Detail

executeVarargsback to summary
public Object executeVarargs(Object... args) throws InvalidInstalledCodeException

Executes the installed code with a variable number of arguments.

Parameters
args:Object[]

the array of object arguments

Returns:Object

the value returned by the executed code

Annotations
@SuppressWarnings:unused
getAddressback to summary
public long getAddress()
Returns:long

the address of entity (e.g., HotSpot nmethod or RuntimeStub) representing this installed code

getCodeback to summary
public byte[] getCode()

Returns a copy of this installed code if it is valid, null otherwise.

getEntryPointback to summary
public long getEntryPoint()
Returns:long

the address of the normal entry point of the installed code.

getNameback to summary
public String getName()

Returns the name of this installed code.

getStartback to summary
public long getStart()

Returns the start address of this installed code if it is valid, 0 otherwise.

getVersionback to summary
public final long getVersion()
Returns:long

the version number of this installed code

invalidateback to summary
public void invalidate()

Equivalent to calling invalidate(boolean) with a true argument.

invalidateback to summary
public void invalidate(boolean deoptimize)

Invalidates this installed code such that any subsequent invocation will throw an InvalidInstalledCodeException. If this installed code is already invalid, this method has no effect. A subsequent call to isAlive() or isValid() on this object will return false.

Parameters
deoptimize:boolean

if true, all existing invocations will be immediately deoptimized. If false, any existing invocation will continue until it completes or there is a subsequent call to this method with deoptimize == true before the invocation completes.

isAliveback to summary
public boolean isAlive()
Returns:boolean

true if this object still points to installed code

isValidback to summary
public boolean isValid()
Returns:boolean

true if the code represented by this object is still valid for invocation, false otherwise (may happen due to deopt, etc.)