5#ifndef RUNTIME_VM_CONSTANTS_IA32_H_
6#define RUNTIME_VM_CONSTANTS_IA32_H_
8#ifndef RUNTIME_VM_CONSTANTS_H_
9#error Do not include constants_ia32.h directly; use constants.h instead.
20#define R(reg) (1 << (reg))
109struct SharedSlowPathStubABI {
114struct InstantiationABI {
126struct InstantiateTAVInternalRegs {
154struct AssertSubtypeABI {
184struct InitLateStaticFieldInternalRegs {
190struct InitInstanceFieldABI {
197struct InitLateInstanceFieldInternalRegs {
203struct LateInitializationErrorABI {
219struct AssertBooleanABI {
224struct RangeErrorABI {
230struct AllocateObjectABI {
237struct AllocateBoxABI {
243struct AllocateClosureABI {
252struct AllocateArrayABI {
259struct AllocateRecordABI {
268struct AllocateSmallRecordABI {
278struct AllocateTypedDataArrayABI {
284struct BoxDoubleStubABI {
291struct DoubleToIntegerStubABI {
299struct SuspendStubABI {
324struct ResumeStubABI {
343struct ReturnStubABI {
348struct AsyncExceptionHandlerStubABI {
353struct CloneSuspendStateStubABI {
364struct FfiAsyncCallbackSendStubABI {
374struct DispatchTableNullErrorABI {
412#if defined(TARGET_ARCH_IS_32_BIT)
418#error "Unexpected word size"
420#if !defined(DART_COMPRESSED_POINTERS)
423#error Cannot compress IA32
448 DISALLOW_ALLOCATION();
450 DISALLOW_IMPLICIT_CONSTRUCTORS(
Instr);
510#if defined(DART_TARGET_OS_WINDOWS)
#define RELEASE_ASSERT(cond)
static constexpr ExtensionStrategy kArgumentStackExtension
static constexpr Register kSecondReturnReg
static constexpr intptr_t kCalleeSaveCpuRegisters
static constexpr AlignmentStrategy kArgumentRegisterAlignmentVarArgs
static constexpr AlignmentStrategy kFieldAlignment
static const FpuRegister FpuArgumentRegisters[]
static constexpr intptr_t kXmmArgumentRegisters
static const Register ArgumentRegisters[]
static constexpr bool kArgumentIntRegXorFpuReg
static constexpr intptr_t kFpuArgumentRegisters
static constexpr FpuRegister kReturnFpuReg
static constexpr intptr_t kNumFpuArgRegs
static constexpr Register kPointerToReturnStructRegisterCall
static constexpr Register kFirstNonArgumentRegister
static constexpr Register kFfiAnyNonAbiRegister
static constexpr AlignmentStrategy kArgumentStackAlignmentVarArgs
static constexpr Register kPointerToReturnStructRegisterReturn
static constexpr AlignmentStrategy kArgumentRegisterAlignment
static constexpr ExtensionStrategy kReturnRegisterExtension
static constexpr Register kStackPointerRegister
static constexpr Register kReturnReg
static constexpr intptr_t kArgumentRegisters
static constexpr Register kSecondNonArgumentRegister
static constexpr ExtensionStrategy kArgumentRegisterExtension
static constexpr intptr_t kNumArgRegs
static constexpr AlignmentStrategy kArgumentStackAlignment
static constexpr bool kUsesRet4
static Instr * At(uword pc)
static constexpr int32_t kBreakPointInstruction
static constexpr int kBreakPointInstructionSize
static constexpr uint8_t kHltInstruction
static constexpr int CountOneBits32(uint32_t x)
const FpuRegister kNoFpuRegister
const Register kWriteBarrierSlotReg
@ TIMES_COMPRESSED_HALF_WORD_SIZE
@ TIMES_COMPRESSED_WORD_SIZE
const Register kExceptionObjectReg
const RegList kReservedCpuRegisters
const Register kWriteBarrierObjectReg
const RegList kAllFpuRegistersList
const Register kWriteBarrierValueReg
const char *const fpu_reg_names[kNumberOfFpuRegisters]
constexpr intptr_t kInt32SizeLog2
const Register CALLEE_SAVED_TEMP
constexpr uword kBreakInstructionFiller
const Register ARGS_DESC_REG
const int kNumberOfFpuRegisters
const RegList kAbiPreservedCpuRegs
constexpr RegList kDartAvailableCpuRegs
const RegList kDartVolatileCpuRegs
const intptr_t kStoreBufferWrapperSize
constexpr int kRegisterAllocationBias
const Register FUNCTION_REG
constexpr intptr_t kNumberOfReservedCpuRegisters
const Register IC_DATA_REG
const char *const cpu_reg_names[kNumberOfCpuRegisters]
const Register kStackTraceObjectReg
const RegList kAllCpuRegistersList
const intptr_t kPreferredLoopAlignment
simd128_value_t fpu_register_t
const char *const cpu_reg_byte_names[kNumberOfByteRegisters]
const RegList kAbiVolatileFpuRegs
const Register CALLEE_SAVED_TEMP2
@ kAlignedToValueSizeBut8AlignedTo4
const char *const cpu_reg_abi_names[kNumberOfCpuRegisters]
const int kFpuRegisterSize
constexpr int kNumberOfDartAvailableCpuRegs
ByteRegister ByteRegisterOf(Register reg)
static constexpr Register kResultReg
static constexpr Register kLengthReg
static constexpr Register kTypeArgumentsReg
static constexpr Register kResultReg
static constexpr Register kTempReg
static constexpr Register kFunctionReg
static constexpr Register kContextReg
static constexpr Register kResultReg
static constexpr Register kInstantiatorTypeArgsReg
static constexpr Register kScratchReg
static constexpr Register kTypeArgumentsReg
static constexpr Register kResultReg
static constexpr Register kTagsReg
static constexpr Register kShapeReg
static constexpr Register kResultReg
static constexpr Register kTemp1Reg
static constexpr Register kTemp2Reg
static constexpr Register kResultReg
static constexpr Register kShapeReg
static constexpr Register kValue2Reg
static constexpr Register kValue0Reg
static constexpr Register kTempReg
static constexpr Register kValue1Reg
static constexpr Register kLengthReg
static constexpr Register kResultReg
static constexpr Register kDstNameReg
static constexpr intptr_t kFunctionTAVSlotFromFp
static constexpr intptr_t kDstTypeSlotFromFp
static constexpr Register kSubtypeTestReg
static constexpr intptr_t kInstanceSlotFromFp
static constexpr intptr_t kInstantiatorTAVSlotFromFp
static constexpr Register kObjectReg
static constexpr Register kSubTypeReg
static constexpr Register kSuperTypeReg
static constexpr Register kFunctionTypeArgumentsReg
static constexpr Register kInstantiatorTypeArgumentsReg
static constexpr Register kDstNameReg
static constexpr Register kSuspendStateReg
static constexpr Register kTempReg
static constexpr Register kResultReg
static constexpr FpuRegister kValueReg
static constexpr Register kDestinationReg
static constexpr Register kSrcFrameReg
static constexpr Register kFrameSizeReg
static constexpr Register kSourceReg
static constexpr Register kTempReg
static constexpr Register kDstFrameReg
static constexpr Register kCpuRegistersForArgs[]
static constexpr FpuRegister kFpuRegistersForArgs[]
static constexpr Register kClassIdReg
static constexpr Register kResultReg
static constexpr Register kRecognizedKindReg
static constexpr FpuRegister kInputReg
static constexpr Register kArgsReg
static constexpr Register kFieldReg
static constexpr Register kResultReg
static constexpr Register kInstanceReg
static constexpr Register kAddressReg
static constexpr Register kScratchReg
static constexpr Register kAddressReg
static constexpr Register kScratchReg
static constexpr Register kResultReg
static constexpr Register kFieldReg
static constexpr Register kTypeArgsReg
static constexpr intptr_t kSavedRegisters
static constexpr Register kInstantiatorTypeArgumentsReg
static constexpr Register kScratchReg
static constexpr Register kResultTypeReg
static constexpr Register kUninstantiatedTypeArgumentsReg
static constexpr Register kResultTypeArgumentsReg
static constexpr Register kFunctionTypeArgumentsReg
static constexpr Register kFieldReg
static constexpr Register kLengthReg
static constexpr Register kIndexReg
static constexpr Register kStackTraceReg
static constexpr Register kExceptionReg
static constexpr Register kSrcFrameReg
static constexpr Register kDstFrameReg
static constexpr Register kFrameSizeReg
static constexpr Register kSuspendStateReg
static constexpr Register kExceptionReg
static constexpr Register kTempReg
static constexpr Register kResumePcReg
static constexpr Register kStackTraceReg
static constexpr Register kSuspendStateReg
static constexpr Register kResultReg
static constexpr Register kSrcFrameReg
static constexpr Register kFunctionDataReg
static constexpr Register kSuspendStateReg
static constexpr intptr_t kResumePcDistance
static constexpr Register kTempReg
static constexpr Register kArgumentReg
static constexpr Register kDstFrameReg
static constexpr Register kTypeArgsReg
static constexpr Register kFrameSizeReg
static constexpr Register kExceptionReg
static constexpr Register kSubtypeTestCacheReg
static constexpr Register kDstTypeReg
static constexpr Register kInstanceReg
static constexpr Register kFunctionTypeArgumentsReg
static constexpr Register kInstantiatorTypeArgumentsReg
static constexpr Register kSubtypeTestCacheResultReg
static constexpr Register kInstanceOfResultReg