Top Description Inners Fields Constructors Methods
jdk.vm.ci.hotspot

pack-priv final Class HotSpotMethodData

extends Object
implements MetaspaceObject
Class Inheritance
All Implemented Interfaces
jdk.vm.ci.hotspot.MetaspaceObject
Static Imports
java.lang.String.format, jdk.vm.ci.hotspot.CompilerToVM.compilerToVM, .HotSpotJVMCIRuntime.runtime, .HotSpotVMConfig.config, .UnsafeAccess.UNSAFE

Access to a HotSpot MethodData structure (defined in methodData.hpp).

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv abstract static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
HotSpotMethodData.VMState

VM state that can be reset when building an AOT image.

Field Summary

Modifier and TypeField and Description
private final HotSpotResolvedJavaMethodImpl
pack-priv final long
methodDataPointer

A MethodData* value.

private final HotSpotMethodData.VMState

Constructor Summary

AccessConstructor and Description
pack-priv
HotSpotMethodData(long methodDataPointer, HotSpotResolvedJavaMethodImpl method)

Method Summary

Modifier and TypeMethod and Description
private int

Returns:

size of extra data records
extraDataSize
()

Returns the size of the extra data records.

public int
private HotSpotMethodDataAccessor
getData(int position)

public int
public int
private int
public long
getMetaspacePointer()

Implements jdk.vm.ci.hotspot.MetaspaceObject.getMetaspacePointer.

Gets the raw pointer to the Metaspace object.

public static HotSpotMethodDataAccessor
getNoDataAccessor(boolean exceptionPossiblyNotRecorded)

public HotSpotMethodDataAccessor
getNormalData(int position)

public int
public int
public int
public boolean
hasExtraData()

Return true if there is an extra data section and the first tag is non-zero.

public boolean
public boolean
isProfileMature()

Returns whether profiling ran long enough that the profile information is mature.

public boolean
isWithin(int position)

private int

Returns:

value of the MethodData::_data_size field
normalDataSize
()

private int
readInt(int position, int offsetInBytes)

Since the values are stored in cells (platform words) this method uses Unsafe#getAddress to read the right value on both little and big endian machines.

private HotSpotResolvedObjectTypeImpl
readKlass(int position, int offsetInBytes)

private HotSpotResolvedJavaMethod
readMethod(int position, int offsetInBytes)

pack-priv int
readUnsignedByte(int position, int offsetInBytes)

private long
readUnsignedInt(int position, int offsetInBytes)

Since the values are stored in cells (platform words) this method uses Unsafe#getAddress to read the right value on both little and big endian machines.

private int
readUnsignedIntAsSignedInt(int position, int offsetInBytes)

pack-priv int
readUnsignedShort(int position, int offsetInBytes)

public void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait