public final class HotSpotMethodData extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
HotSpotMethodData.AbstractMethodData |
private static class |
HotSpotMethodData.AbstractTypeData |
private static class |
HotSpotMethodData.ArgInfoData |
private static class |
HotSpotMethodData.ArrayData |
private static class |
HotSpotMethodData.BitData |
private static class |
HotSpotMethodData.BranchData |
private static class |
HotSpotMethodData.CounterData |
private static class |
HotSpotMethodData.JumpData |
private static class |
HotSpotMethodData.MultiBranchData |
private static class |
HotSpotMethodData.NoMethodData |
(package private) static class |
HotSpotMethodData.RawItemProfile<T> |
private static class |
HotSpotMethodData.RetData |
private static class |
HotSpotMethodData.TypeCheckData |
private static class |
HotSpotMethodData.VirtualCallData |
Modifier and Type | Field and Description |
---|---|
private static HotSpotVMConfig |
config |
private long |
metaspaceMethodData
Reference to the C++ MethodData object.
|
private static HotSpotMethodDataAccessor |
NO_DATA_EXCEPTION_POSSIBLY_NOT_RECORDED_ACCESSOR |
private static HotSpotMethodDataAccessor |
NO_DATA_NO_EXCEPTION_ACCESSOR |
private static HotSpotMethodDataAccessor[] |
PROFILE_DATA_ACCESSORS |
Constructor and Description |
---|
HotSpotMethodData(long metaspaceMethodData) |
Modifier and Type | Method and Description |
---|---|
private static int |
cellIndexToOffset(int cells) |
private static int |
cellsToBytes(int cells) |
private static int |
computeFullOffset(int position,
int offsetInBytes) |
private int |
extraDataSize()
Returns the size of the extra data records.
|
int |
getCompiledIRSize() |
private HotSpotMethodDataAccessor |
getData(int position) |
int |
getDeoptimizationCount(DeoptimizationReason reason) |
HotSpotMethodDataAccessor |
getExtraData(int position) |
int |
getExtraDataBeginOffset() |
static HotSpotMethodDataAccessor |
getNoDataAccessor(boolean exceptionPossiblyNotRecorded) |
HotSpotMethodDataAccessor |
getNormalData(int position) |
int |
getOSRDeoptimizationCount(DeoptimizationReason reason) |
boolean |
hasExtraData() |
boolean |
hasNormalData() |
boolean |
isProfileMature()
Returns whether profiling ran long enough that the profile information is mature.
|
boolean |
isWithin(int position) |
private int |
normalDataSize() |
private int |
readInt(int position,
int offsetInBytes)
Since the values are stored in cells (platform words) this method uses
Unsafe.getAddress(long) to read the right value on both little and big endian machines. |
private 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(long) to read the right value on both little and big endian machines. |
private int |
readUnsignedIntAsSignedInt(int position,
int offsetInBytes) |
private int |
readUnsignedShort(int position,
int offsetInBytes) |
private long |
readWord(int position,
int offsetInBytes) |
void |
setCompiledIRSize(int size) |
String |
toString() |
private static int |
truncateLongToInt(long value) |
private static final HotSpotVMConfig config
private static final HotSpotMethodDataAccessor NO_DATA_NO_EXCEPTION_ACCESSOR
private static final HotSpotMethodDataAccessor NO_DATA_EXCEPTION_POSSIBLY_NOT_RECORDED_ACCESSOR
private static final HotSpotMethodDataAccessor[] PROFILE_DATA_ACCESSORS
private final long metaspaceMethodData
public HotSpotMethodData(long metaspaceMethodData)
private int normalDataSize()
private int extraDataSize()
public boolean hasNormalData()
public boolean hasExtraData()
public int getExtraDataBeginOffset()
public boolean isWithin(int position)
public int getDeoptimizationCount(DeoptimizationReason reason)
public int getOSRDeoptimizationCount(DeoptimizationReason reason)
public HotSpotMethodDataAccessor getNormalData(int position)
public HotSpotMethodDataAccessor getExtraData(int position)
public static HotSpotMethodDataAccessor getNoDataAccessor(boolean exceptionPossiblyNotRecorded)
private HotSpotMethodDataAccessor getData(int position)
private int readUnsignedByte(int position, int offsetInBytes)
private int readUnsignedShort(int position, int offsetInBytes)
private long readUnsignedInt(int position, int offsetInBytes)
Unsafe.getAddress(long)
to read the right value on both little and big endian machines.private int readUnsignedIntAsSignedInt(int position, int offsetInBytes)
private int readInt(int position, int offsetInBytes)
Unsafe.getAddress(long)
to read the right value on both little and big endian machines.private long readWord(int position, int offsetInBytes)
private static int truncateLongToInt(long value)
private static int computeFullOffset(int position, int offsetInBytes)
private static int cellIndexToOffset(int cells)
private static int cellsToBytes(int cells)
public boolean isProfileMature()
public void setCompiledIRSize(int size)
public int getCompiledIRSize()