Top Description Inners Fields Constructors Methods
com.jogamp.common.os

public Class MachineDataInfo

extends Object
Class Inheritance
Imports
jogamp.common.os.PlatformPropsImpl

Machine data description for alignment and size onle, see com.jogamp.gluegen.

little-endian / big/endian description is left, allowing re-using instances in StaticConfig. Use {@link PlatformPropsImpl#LITTLE_ENDIAN.

Further more, the value {@ MachineDataInfo#pageSizeInBytes} shall be ignored in StaticConfig, see MachineDataInfo#compatible(MachineDataInfo).

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
MachineDataInfo.StaticConfig

Static enumeration of MachineDataInfo instances used for high performance data size and alignment lookups, e.g. for generated structures.

Field Summary

Modifier and TypeField and Description
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final int
private final boolean
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]
private static final int[]

Constructor Summary

AccessConstructor and Description
public
MachineDataInfo(final boolean runtimeValidated, final int intSizeInBytes, final int longSizeInBytes, final int floatSizeInBytes, final int doubleSizeInBytes, final int ldoubleSizeInBytes, final int pointerSizeInBytes, final int pageSizeInBytes, final int int8AlignmentInBytes, final int int16AlignmentInBytes, final int int32AlignmentInBytes, final int int64AlignmentInBytes, final int intAlignmentInBytes, final int longAlignmentInBytes, final int floatAlignmentInBytes, final int doubleAlignmentInBytes, final int ldoubleAlignmentInBytes, final int pointerAlignmentInBytes)

Method Summary

Modifier and TypeMethod and Description
public final boolean

Returns:

true if the two MachineDataInfo are equal; otherwise false.
compatible
(final MachineDataInfo md)

Checks whether two MachineDataInfo objects are equal.

public final int
public final int
public final boolean

Returns:

true if the two MachineDataInfo are equal; otherwise false.
equals
(final Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Checks whether two size objects are equal.
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final int
public final boolean

Returns:

true if all values are validated at runtime, otherwise false (i.e. for static compilation w/ preset values)
isRuntimeValidated
()

public final int
public final int
public final int
public final int
public int

Returns:

page aligned size in bytes
pageAlignedSize
(final int size)

public int

Returns:

number of pages required for size in bytes
pageCount
(final int size)

public final int
public final int
public final int
public StringBuilder
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

align_arm_mips_32back to summary
private static final int[] align_arm_mips_32
align_lp64_unixback to summary
private static final int[] align_lp64_unix
align_ppc_32_unixback to summary
private static final int[] align_ppc_32_unix
align_sparc_32_sunosback to summary
private static final int[] align_sparc_32_sunos
align_x86_32_macosback to summary
private static final int[] align_x86_32_macos
align_x86_32_unixback to summary
private static final int[] align_x86_32_unix
align_x86_32_windowsback to summary
private static final int[] align_x86_32_windows
align_x86_64_windowsback to summary
private static final int[] align_x86_64_windows
doubleAlignmentInBytesback to summary
private final int doubleAlignmentInBytes
doubleSizeInBytesback to summary
private final int doubleSizeInBytes
floatAlignmentInBytesback to summary
private final int floatAlignmentInBytes
floatSizeInBytesback to summary
private final int floatSizeInBytes
int16AlignmentInBytesback to summary
private final int int16AlignmentInBytes
int16SizeInBytesback to summary
private final int int16SizeInBytes
int32AlignmentInBytesback to summary
private final int int32AlignmentInBytes
int32SizeInBytesback to summary
private final int int32SizeInBytes
int64AlignmentInBytesback to summary
private final int int64AlignmentInBytes
int64SizeInBytesback to summary
private final int int64SizeInBytes
int8AlignmentInBytesback to summary
private final int int8AlignmentInBytes
int8SizeInBytesback to summary
private final int int8SizeInBytes
intAlignmentInBytesback to summary
private final int intAlignmentInBytes
intSizeInBytesback to summary
private final int intSizeInBytes
ldoubleAlignmentInBytesback to summary
private final int ldoubleAlignmentInBytes
ldoubleSizeInBytesback to summary
private final int ldoubleSizeInBytes
longAlignmentInBytesback to summary
private final int longAlignmentInBytes
longSizeInBytesback to summary
private final int longSizeInBytes
pageSizeInBytesback to summary
private final int pageSizeInBytes
pointerAlignmentInBytesback to summary
private final int pointerAlignmentInBytes
pointerSizeInBytesback to summary
private final int pointerSizeInBytes
runtimeValidatedback to summary
private final boolean runtimeValidated
size_arm_mips_32back to summary
private static final int[] size_arm_mips_32
size_lp64_unixback to summary
private static final int[] size_lp64_unix
size_ppc_32_unixback to summary
private static final int[] size_ppc_32_unix
size_sparc_32_sunosback to summary
private static final int[] size_sparc_32_sunos
size_x86_32_macosback to summary
private static final int[] size_x86_32_macos
size_x86_32_unixback to summary
private static final int[] size_x86_32_unix
size_x86_32_windowsback to summary
private static final int[] size_x86_32_windows
size_x86_64_windowsback to summary
private static final int[] size_x86_64_windows

Constructor Detail

MachineDataInfoback to summary
public MachineDataInfo(final boolean runtimeValidated, final int intSizeInBytes, final int longSizeInBytes, final int floatSizeInBytes, final int doubleSizeInBytes, final int ldoubleSizeInBytes, final int pointerSizeInBytes, final int pageSizeInBytes, final int int8AlignmentInBytes, final int int16AlignmentInBytes, final int int32AlignmentInBytes, final int int64AlignmentInBytes, final int intAlignmentInBytes, final int longAlignmentInBytes, final int floatAlignmentInBytes, final int doubleAlignmentInBytes, final int ldoubleAlignmentInBytes, final int pointerAlignmentInBytes)

Method Detail

compatibleback to summary
public final boolean compatible(final MachineDataInfo md)

Checks whether two MachineDataInfo objects are equal.

Two MachineDataInfo instances are considered equal if all components match but isRuntimeValidated() and pageSizeInBytes().

Returns:boolean

true if the two MachineDataInfo are equal; otherwise false.

doubleAlignmentInBytesback to summary
public final int doubleAlignmentInBytes()
doubleSizeInBytesback to summary
public final int doubleSizeInBytes()
equalsback to summary
public final boolean equals(final Object obj)

Overrides java.lang.Object.equals.

Checks whether two size objects are equal. Two instances of MachineDataInfo are considered equal if all components match but runtimeValidated, isRuntimeValidated().

Parameters
obj:Object

Doc from java.lang.Object.equals.

the reference object with which to compare.

Returns:boolean

true if the two MachineDataInfo are equal; otherwise false.

Annotations
@Override
floatAlignmentInBytesback to summary
public final int floatAlignmentInBytes()
floatSizeInBytesback to summary
public final int floatSizeInBytes()
int16AlignmentInBytesback to summary
public final int int16AlignmentInBytes()
int16SizeInBytesback to summary
public final int int16SizeInBytes()
int32AlignmentInBytesback to summary
public final int int32AlignmentInBytes()
int32SizeInBytesback to summary
public final int int32SizeInBytes()
int64AlignmentInBytesback to summary
public final int int64AlignmentInBytes()
int64SizeInBytesback to summary
public final int int64SizeInBytes()
int8AlignmentInBytesback to summary
public final int int8AlignmentInBytes()
int8SizeInBytesback to summary
public final int int8SizeInBytes()
intAlignmentInBytesback to summary
public final int intAlignmentInBytes()
intSizeInBytesback to summary
public final int intSizeInBytes()
isRuntimeValidatedback to summary
public final boolean isRuntimeValidated()
Returns:boolean

true if all values are validated at runtime, otherwise false (i.e. for static compilation w/ preset values)

ldoubleAlignmentInBytesback to summary
public final int ldoubleAlignmentInBytes()
ldoubleSizeInBytesback to summary
public final int ldoubleSizeInBytes()
longAlignmentInBytesback to summary
public final int longAlignmentInBytes()
longSizeInBytesback to summary
public final int longSizeInBytes()
pageAlignedSizeback to summary
public int pageAlignedSize(final int size)
Returns:int

page aligned size in bytes

pageCountback to summary
public int pageCount(final int size)
Returns:int

number of pages required for size in bytes

pageSizeInBytesback to summary
public final int pageSizeInBytes()
pointerAlignmentInBytesback to summary
public final int pointerAlignmentInBytes()
pointerSizeInBytesback to summary
public final int pointerSizeInBytes()
toStringback to summary
public StringBuilder toString(StringBuilder sb)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override
com.jogamp.common.os back to summary

public final Enum MachineDataInfo.StaticConfig

extends Enum<MachineDataInfo.StaticConfig>
Class Inheritance

Static enumeration of MachineDataInfo instances used for high performance data size and alignment lookups, e.g. for generated structures.

The value MachineDataInfo#pageSizeInBytes shall be ignored for static instances!

If changing this table, you need to:

.. b/c the generated code for glued structures must reflect this change!

Field Summary

Modifier and TypeField and Description
public static final MachineDataInfo.StaticConfig
public static final MachineDataInfo.StaticConfig
public final MachineDataInfo
public static final MachineDataInfo.StaticConfig
public static final MachineDataInfo.StaticConfig
public static final MachineDataInfo.StaticConfig
X86_32_MACOS

Platform.CPUType#X86_32 MacOS (Special case gcc4/OSX)

public static final MachineDataInfo.StaticConfig
public static final MachineDataInfo.StaticConfig
public static final MachineDataInfo.StaticConfig

Constructor Summary

AccessConstructor and Description
private
StaticConfig(final int[] sizes, final int[] alignments)

Method Summary

Modifier and TypeMethod and Description
public static final MachineDataInfo.StaticConfig
public final String
public final StringBuilder
public String
toString()

Overrides java.lang.Enum.toString.

Returns the name of this enum constant, as contained in the declaration.
public static final void
validateUniqueMachineDataInfo()

Static's MachineDataInfo shall be unique by the compatible criteria.

public static MachineDataInfo.StaticConfig
public static MachineDataInfo.StaticConfig[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinalvalueOf

Field Detail

ARM_MIPS_32back to summary
public static final MachineDataInfo.StaticConfig ARM_MIPS_32

Platform.CPUType#ARM or Platform.CPUType#MIPS_32

LP64_UNIXback to summary
public static final MachineDataInfo.StaticConfig LP64_UNIX

LP64 Unix, e.g.: Platform.CPUType#X86_64 Unix, Platform.CPUType#ARM64 EABI, Platform.CPUType#PPC64 Unix, ..

mdback to summary
public final MachineDataInfo md
PPC_32_UNIXback to summary
public static final MachineDataInfo.StaticConfig PPC_32_UNIX

Platform.CPUType#PPC Unix

SPARC_32_SUNOSback to summary
public static final MachineDataInfo.StaticConfig SPARC_32_SUNOS

Platform.CPUType#SPARC_32 Solaris

X86_32_MACOSback to summary
public static final MachineDataInfo.StaticConfig X86_32_MACOS

Platform.CPUType#X86_32 MacOS (Special case gcc4/OSX)

X86_32_UNIXback to summary
public static final MachineDataInfo.StaticConfig X86_32_UNIX

Platform.CPUType#X86_32 Unix

X86_32_WINDOWSback to summary
public static final MachineDataInfo.StaticConfig X86_32_WINDOWS

Platform.CPUType#X86_32 Windows

X86_64_WINDOWSback to summary
public static final MachineDataInfo.StaticConfig X86_64_WINDOWS

Platform.CPUType#X86_64 Windows

Constructor Detail

StaticConfigback to summary
private StaticConfig(final int[] sizes, final int[] alignments)

Method Detail

findCompatibleback to summary
public static final MachineDataInfo.StaticConfig findCompatible(final MachineDataInfo md)
toShortStringback to summary
public final String toShortString()
toStringback to summary
public final StringBuilder toString(StringBuilder sb)
toStringback to summary
public String toString()

Overrides java.lang.Enum.toString.

Doc from java.lang.Enum.toString.

Returns the name of this enum constant, as contained in the declaration. This method may be overridden, though it typically isn't necessary or desirable. An enum class should override this method when a more "programmer-friendly" string form exists.

Returns:String

the name of this enum constant

Annotations
@Override
validateUniqueMachineDataInfoback to summary
public static final void validateUniqueMachineDataInfo()

Static's MachineDataInfo shall be unique by the compatible criteria.

valueOfback to summary
public static MachineDataInfo.StaticConfig valueOf(String name)
valuesback to summary
public static MachineDataInfo.StaticConfig[] values()