APIdia Launch Partner
Top Description Methods
sun.jvm.hotspot.debugger

public Interface MachineDescription

extends Serializable
Known Direct Implementers
sun.jvm.hotspot.debugger.MachineDescriptionAArch64, sun.jvm.hotspot.debugger.MachineDescriptionAMD64, sun.jvm.hotspot.debugger.MachineDescriptionPPC64, sun.jvm.hotspot.debugger.MachineDescriptionRISCV64
Imports
java.io.Serializable

Encapsulates machine-specific information that currently must be exported up to the Java level. Implementations must be serializable.

Method Summary

Modifier and TypeMethod and Description
public long
cIntegerTypeMaxValue(long sizeInBytes, boolean isUnsigned)

Returns the maximum value of the C integer type with the given size in bytes and signedness.

public long
cIntegerTypeMinValue(long sizeInBytes, boolean isUnsigned)

Returns the minimum value of the C integer type with the given size in bytes and signedness.

public long
getAddressSize()

Returns the size of an address in bytes.

public boolean
isBigEndian()

Indicates whether the CPU is big- or little-endian.

public boolean
isLP64()

Indicates whether the underlying machine supports the LP64 data model.

public default boolean
supports32bitAlignmentOf64bitTypes()

Indicates whether the underlying machine supports 64-bit types that are only 32-bit aligned.

Method Detail

cIntegerTypeMaxValueback to summary
public long cIntegerTypeMaxValue(long sizeInBytes, boolean isUnsigned)

Returns the maximum value of the C integer type with the given size in bytes and signedness. Throws IllegalArgumentException if the size in bytes is not legal for a C type (or can not be handled by this system). Note that the current implementation does not currently handle unsigned 8-byte longs properly.

cIntegerTypeMinValueback to summary
public long cIntegerTypeMinValue(long sizeInBytes, boolean isUnsigned)

Returns the minimum value of the C integer type with the given size in bytes and signedness. Throws IllegalArgumentException if the size in bytes is not legal for a C type (or can not be handled by this system).

getAddressSizeback to summary
public long getAddressSize()

Returns the size of an address in bytes. Currently needed to be able to traverse arrays of pointers or oops.

isBigEndianback to summary
public boolean isBigEndian()

Indicates whether the CPU is big- or little-endian. This information is typically only needed by the Debugger implementation.

isLP64back to summary
public boolean isLP64()

Indicates whether the underlying machine supports the LP64 data model.

supports32bitAlignmentOf64bitTypesback to summary
public default boolean supports32bitAlignmentOf64bitTypes()

Indicates whether the underlying machine supports 64-bit types that are only 32-bit aligned.