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

public Class AMD64

extends Architecture
Class Inheritance
Static Imports
jdk.vm.ci.code.MemoryBarriers.LOAD_LOAD, .MemoryBarriers.LOAD_STORE, .MemoryBarriers.STORE_STORE, .Register.SPECIAL

Represents the AMD64 architecture.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
AMD64.CPUFeature

Basic set of CPU features mirroring what is returned from the cpuid instruction.

public static enum
AMD64.Flag

Set of flags to control code emission.

Field Summary

Modifier and TypeField and Description
public static final RegisterArray
public static final Register.RegisterCategory
public static final Register[]
private final EnumSet<AMD64.CPUFeature>
private final EnumSet<AMD64.Flag>
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
private final AMD64Kind
private final AMD64Kind
public static final Register.RegisterCategory
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
rip

Register used to construct an instruction-relative address.

public static final Register
public static final Register
public static final RegisterArray
public static final RegisterArray
public static final Register.RegisterCategory
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register
public static final Register[]
public static final Register[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
canStoreValue(Register.RegisterCategory
the category of the register
category
,
PlatformKind
the kind that should be stored in the register
platformKind
)

Implements abstract jdk.vm.ci.code.Architecture.canStoreValue.

Determine whether a kind can be stored in a register of a given category.

public RegisterArray
getAvailableValueRegisters()

Overrides jdk.vm.ci.code.Architecture.getAvailableValueRegisters.

Gets a list of all registers available for storing values on this architecture.

public EnumSet<AMD64.CPUFeature>
getFeatures()

Implements abstract jdk.vm.ci.code.Architecture.getFeatures.

Gets the set of CPU features supported by the current platform.

public EnumSet<AMD64.Flag>
public AMD64Kind
getLargestStorableKind(Register.RegisterCategory
the category of the register
category
)

Implements abstract jdk.vm.ci.code.Architecture.getLargestStorableKind.

Return the largest kind that can be stored in a register of a given category.

public PlatformKind
getPlatformKind(JavaKind javaKind)

Implements abstract jdk.vm.ci.code.Architecture.getPlatformKind.

Gets the PlatformKind that is used to store values of a given JavaKind.

Inherited from jdk.vm.ci.code.Architecture:
equalsgetByteOrdergetMachineCodeCallDisplacementOffsetgetNamegetRegistersgetReturnAddressSizegetWordKindgetWordSizehashCoderequiredBarrierssupportsUnalignedMemoryAccesstoString

Field Detail

allRegistersback to summary
public static final RegisterArray allRegisters
CPUback to summary
public static final Register.RegisterCategory CPU
cpuRegistersback to summary
public static final Register[] cpuRegisters
featuresback to summary
private final EnumSet<AMD64.CPUFeature> features
flagsback to summary
private final EnumSet<AMD64.Flag> flags
k0back to summary
public static final Register k0
k1back to summary
public static final Register k1
k2back to summary
public static final Register k2
k3back to summary
public static final Register k3
k4back to summary
public static final Register k4
k5back to summary
public static final Register k5
k6back to summary
public static final Register k6
k7back to summary
public static final Register k7
largestKindback to summary
private final AMD64Kind largestKind
largestMaskKindback to summary
private final AMD64Kind largestMaskKind
MASKback to summary
public static final Register.RegisterCategory MASK
r10back to summary
public static final Register r10
r11back to summary
public static final Register r11
r12back to summary
public static final Register r12
r13back to summary
public static final Register r13
r14back to summary
public static final Register r14
r15back to summary
public static final Register r15
r8back to summary
public static final Register r8
r9back to summary
public static final Register r9
raxback to summary
public static final Register rax
rbpback to summary
public static final Register rbp
rbxback to summary
public static final Register rbx
rcxback to summary
public static final Register rcx
rdiback to summary
public static final Register rdi
rdxback to summary
public static final Register rdx
ripback to summary
public static final Register rip

Register used to construct an instruction-relative address.

rsiback to summary
public static final Register rsi
rspback to summary
public static final Register rsp
valueRegistersAVX512back to summary
public static final RegisterArray valueRegistersAVX512
valueRegistersSSEback to summary
public static final RegisterArray valueRegistersSSE
XMMback to summary
public static final Register.RegisterCategory XMM
xmm0back to summary
public static final Register xmm0
xmm1back to summary
public static final Register xmm1
xmm10back to summary
public static final Register xmm10
xmm11back to summary
public static final Register xmm11
xmm12back to summary
public static final Register xmm12
xmm13back to summary
public static final Register xmm13
xmm14back to summary
public static final Register xmm14
xmm15back to summary
public static final Register xmm15
xmm16back to summary
public static final Register xmm16
xmm17back to summary
public static final Register xmm17
xmm18back to summary
public static final Register xmm18
xmm19back to summary
public static final Register xmm19
xmm2back to summary
public static final Register xmm2
xmm20back to summary
public static final Register xmm20
xmm21back to summary
public static final Register xmm21
xmm22back to summary
public static final Register xmm22
xmm23back to summary
public static final Register xmm23
xmm24back to summary
public static final Register xmm24
xmm25back to summary
public static final Register xmm25
xmm26back to summary
public static final Register xmm26
xmm27back to summary
public static final Register xmm27
xmm28back to summary
public static final Register xmm28
xmm29back to summary
public static final Register xmm29
xmm3back to summary
public static final Register xmm3
xmm30back to summary
public static final Register xmm30
xmm31back to summary
public static final Register xmm31
xmm4back to summary
public static final Register xmm4
xmm5back to summary
public static final Register xmm5
xmm6back to summary
public static final Register xmm6
xmm7back to summary
public static final Register xmm7
xmm8back to summary
public static final Register xmm8
xmm9back to summary
public static final Register xmm9
xmmRegistersAVX512back to summary
public static final Register[] xmmRegistersAVX512
xmmRegistersSSEback to summary
public static final Register[] xmmRegistersSSE

Constructor Detail

AMD64back to summary
public AMD64(EnumSet<AMD64.CPUFeature> features, EnumSet<AMD64.Flag> flags)

Method Detail

canStoreValueback to summary
public boolean canStoreValue(Register.RegisterCategory category, PlatformKind platformKind)

Implements abstract jdk.vm.ci.code.Architecture.canStoreValue.

Doc from jdk.vm.ci.code.Architecture.canStoreValue.

Determine whether a kind can be stored in a register of a given category.

Parameters
category:Register.RegisterCategory

the category of the register

platformKind:PlatformKind

the kind that should be stored in the register

Annotations
@Override
getAvailableValueRegistersback to summary
public RegisterArray getAvailableValueRegisters()

Overrides jdk.vm.ci.code.Architecture.getAvailableValueRegisters.

Doc from jdk.vm.ci.code.Architecture.getAvailableValueRegisters.

Gets a list of all registers available for storing values on this architecture. This may be a subset of getRegisters(), depending on the capabilities of this particular CPU.

Annotations
@Override
getFeaturesback to summary
public EnumSet<AMD64.CPUFeature> getFeatures()

Implements abstract jdk.vm.ci.code.Architecture.getFeatures.

Doc from jdk.vm.ci.code.Architecture.getFeatures.

Gets the set of CPU features supported by the current platform.

Annotations
@Override
getFlagsback to summary
public EnumSet<AMD64.Flag> getFlags()
getLargestStorableKindback to summary
public AMD64Kind getLargestStorableKind(Register.RegisterCategory category)

Implements abstract jdk.vm.ci.code.Architecture.getLargestStorableKind.

Doc from jdk.vm.ci.code.Architecture.getLargestStorableKind.

Return the largest kind that can be stored in a register of a given category.

Parameters
category:Register.RegisterCategory

the category of the register

Returns:AMD64Kind

the largest kind that can be stored in a register category

Annotations
@Override
getPlatformKindback to summary
public PlatformKind getPlatformKind(JavaKind javaKind)

Implements abstract jdk.vm.ci.code.Architecture.getPlatformKind.

Doc from jdk.vm.ci.code.Architecture.getPlatformKind.

Gets the PlatformKind that is used to store values of a given JavaKind.

Returns:PlatformKind

null if there no deterministic PlatformKind for javaKind

Annotations
@Override
jdk.vm.ci.amd64 back to summary

public final Enum AMD64.CPUFeature

extends Enum<AMD64.CPUFeature>
implements CPUFeatureName
Class Inheritance
All Implemented Interfaces
jdk.vm.ci.code.CPUFeatureName

Basic set of CPU features mirroring what is returned from the cpuid instruction. See: VM_Version::cpuFeatureFlags.

Field Summary

Modifier and TypeField and Description
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature
public static final AMD64.CPUFeature

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static AMD64.CPUFeature
public static AMD64.CPUFeature[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ADXback to summary
public static final AMD64.CPUFeature ADX
AESback to summary
public static final AMD64.CPUFeature AES
AMD_3DNOW_PREFETCHback to summary
public static final AMD64.CPUFeature AMD_3DNOW_PREFETCH
AVXback to summary
public static final AMD64.CPUFeature AVX
AVX2back to summary
public static final AMD64.CPUFeature AVX2
AVX512_BITALGback to summary
public static final AMD64.CPUFeature AVX512_BITALG
AVX512_IFMAback to summary
public static final AMD64.CPUFeature AVX512_IFMA
AVX512_VAESback to summary
public static final AMD64.CPUFeature AVX512_VAES
AVX512_VBMIback to summary
public static final AMD64.CPUFeature AVX512_VBMI
AVX512_VBMI2back to summary
public static final AMD64.CPUFeature AVX512_VBMI2
AVX512_VNNIback to summary
public static final AMD64.CPUFeature AVX512_VNNI
AVX512_VPCLMULQDQback to summary
public static final AMD64.CPUFeature AVX512_VPCLMULQDQ
AVX512_VPOPCNTDQback to summary
public static final AMD64.CPUFeature AVX512_VPOPCNTDQ
AVX512BWback to summary
public static final AMD64.CPUFeature AVX512BW
AVX512CDback to summary
public static final AMD64.CPUFeature AVX512CD
AVX512DQback to summary
public static final AMD64.CPUFeature AVX512DQ
AVX512ERback to summary
public static final AMD64.CPUFeature AVX512ER
AVX512Fback to summary
public static final AMD64.CPUFeature AVX512F
AVX512PFback to summary
public static final AMD64.CPUFeature AVX512PF
AVX512VLback to summary
public static final AMD64.CPUFeature AVX512VL
AVX_IFMAback to summary
public static final AMD64.CPUFeature AVX_IFMA
BMI1back to summary
public static final AMD64.CPUFeature BMI1
BMI2back to summary
public static final AMD64.CPUFeature BMI2
CET_IBTback to summary
public static final AMD64.CPUFeature CET_IBT
CET_SSback to summary
public static final AMD64.CPUFeature CET_SS
CLMULback to summary
public static final AMD64.CPUFeature CLMUL
CLWBback to summary
public static final AMD64.CPUFeature CLWB
CMOVback to summary
public static final AMD64.CPUFeature CMOV
CX8back to summary
public static final AMD64.CPUFeature CX8
ERMSback to summary
public static final AMD64.CPUFeature ERMS
F16Cback to summary
public static final AMD64.CPUFeature F16C
FLUSHback to summary
public static final AMD64.CPUFeature FLUSH
FLUSHOPTback to summary
public static final AMD64.CPUFeature FLUSHOPT
FMAback to summary
public static final AMD64.CPUFeature FMA
FSRMback to summary
public static final AMD64.CPUFeature FSRM
FXSRback to summary
public static final AMD64.CPUFeature FXSR
GFNIback to summary
public static final AMD64.CPUFeature GFNI
HTback to summary
public static final AMD64.CPUFeature HT
HVback to summary
public static final AMD64.CPUFeature HV
LZCNTback to summary
public static final AMD64.CPUFeature LZCNT
MMXback to summary
public static final AMD64.CPUFeature MMX
OSPKEback to summary
public static final AMD64.CPUFeature OSPKE
PKUback to summary
public static final AMD64.CPUFeature PKU
POPCNTback to summary
public static final AMD64.CPUFeature POPCNT
RDPIDback to summary
public static final AMD64.CPUFeature RDPID
RDTSCPback to summary
public static final AMD64.CPUFeature RDTSCP
RTMback to summary
public static final AMD64.CPUFeature RTM
SERIALIZEback to summary
public static final AMD64.CPUFeature SERIALIZE
SHAback to summary
public static final AMD64.CPUFeature SHA
SSEback to summary
public static final AMD64.CPUFeature SSE
SSE2back to summary
public static final AMD64.CPUFeature SSE2
SSE3back to summary
public static final AMD64.CPUFeature SSE3
SSE4_1back to summary
public static final AMD64.CPUFeature SSE4_1
SSE4_2back to summary
public static final AMD64.CPUFeature SSE4_2
SSE4Aback to summary
public static final AMD64.CPUFeature SSE4A
SSSE3back to summary
public static final AMD64.CPUFeature SSSE3
TSCback to summary
public static final AMD64.CPUFeature TSC
TSCINVback to summary
public static final AMD64.CPUFeature TSCINV
TSCINV_BITback to summary
public static final AMD64.CPUFeature TSCINV_BIT
VZEROUPPERback to summary
public static final AMD64.CPUFeature VZEROUPPER

Constructor Detail

CPUFeatureback to summary
private CPUFeature()

Method Detail

valueOfback to summary
public static AMD64.CPUFeature valueOf(String name)
valuesback to summary
public static AMD64.CPUFeature[] values()
jdk.vm.ci.amd64 back to summary

public final Enum AMD64.Flag

extends Enum<AMD64.Flag>
Class Inheritance

Set of flags to control code emission.

Field Summary

Modifier and TypeField and Description
public static final AMD64.Flag
public static final AMD64.Flag

Constructor Summary

AccessConstructor and Description
private
Flag()

Method Summary

Modifier and TypeMethod and Description
public static AMD64.Flag
public static AMD64.Flag[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

UseCountLeadingZerosInstructionback to summary
public static final AMD64.Flag UseCountLeadingZerosInstruction
UseCountTrailingZerosInstructionback to summary
public static final AMD64.Flag UseCountTrailingZerosInstruction

Constructor Detail

Flagback to summary
private Flag()

Method Detail

valueOfback to summary
public static AMD64.Flag valueOf(String name)
valuesback to summary
public static AMD64.Flag[] values()