Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
constants_arm.h File Reference
#include "platform/assert.h"
#include "platform/globals.h"
#include "platform/utils.h"
#include "vm/constants_base.h"

Go to the source code of this file.

Classes

struct  dart::SharedSlowPathStubABI
 
struct  dart::InstantiationABI
 
struct  dart::InstantiateTAVInternalRegs
 
struct  dart::TTSInternalRegs
 
struct  dart::STCInternalRegs
 
struct  dart::TypeTestABI
 
struct  dart::AssertSubtypeABI
 
struct  dart::InitStaticFieldABI
 
struct  dart::InitLateStaticFieldInternalRegs
 
struct  dart::InitInstanceFieldABI
 
struct  dart::InitLateInstanceFieldInternalRegs
 
struct  dart::LateInitializationErrorABI
 
struct  dart::ThrowABI
 
struct  dart::ReThrowABI
 
struct  dart::AssertBooleanABI
 
struct  dart::RangeErrorABI
 
struct  dart::AllocateObjectABI
 
struct  dart::AllocateClosureABI
 
struct  dart::AllocateMintABI
 
struct  dart::AllocateBoxABI
 
struct  dart::AllocateArrayABI
 
struct  dart::AllocateRecordABI
 
struct  dart::AllocateSmallRecordABI
 
struct  dart::AllocateTypedDataArrayABI
 
struct  dart::BoxDoubleStubABI
 
struct  dart::DoubleToIntegerStubABI
 
struct  dart::SuspendStubABI
 
struct  dart::InitSuspendableFunctionStubABI
 
struct  dart::ResumeStubABI
 
struct  dart::ReturnStubABI
 
struct  dart::AsyncExceptionHandlerStubABI
 
struct  dart::CloneSuspendStateStubABI
 
struct  dart::FfiAsyncCallbackSendStubABI
 
struct  dart::DispatchTableNullErrorABI
 
class  dart::CallingConventions
 
struct  dart::DartCallingConvention
 
class  dart::Instr
 
struct  dart::LinkRegister
 

Namespaces

namespace  dart
 

Macros

#define LR   LR_DO_NOT_USE_DIRECTLY
 
#define R(reg)   (static_cast<RegList>(1) << (reg))
 
#define LINK_REGISTER   (LinkRegister())
 

Typedefs

typedef QRegister dart::FpuRegister
 
typedef simd128_value_t dart::fpu_register_t
 
typedef uint16_t dart::RegList
 

Enumerations

enum  dart::Register {
  dart::R0 = 0 , dart::R1 = 1 , dart::R2 = 2 , dart::R3 = 3 ,
  dart::R4 = 4 , dart::R5 = 5 , dart::R6 = 6 , dart::R7 = 7 ,
  dart::R8 = 8 , dart::R9 = 9 , dart::R10 = 10 , dart::R11 = 11 ,
  dart::R12 = 12 , dart::R13 = 13 , dart::R14 = 14 , dart::R15 = 15 ,
  dart::kNumberOfCpuRegisters = 16 , dart::kNoRegister = -1 , dart::FP = R11 , dart::NOTFP = R7 ,
  dart::IP = R12 , dart::SP = R13 , dart::LR = R14 , dart::PC = R15 ,
  dart::R0 = 0 , dart::R1 = 1 , dart::R2 = 2 , dart::R3 = 3 ,
  dart::R4 = 4 , dart::R5 = 5 , dart::R6 = 6 , dart::R7 = 7 ,
  dart::R8 = 8 , dart::R9 = 9 , dart::R10 = 10 , dart::R11 = 11 ,
  dart::R12 = 12 , dart::R13 = 13 , dart::R14 = 14 , dart::R15 = 15 ,
  dart::R16 = 16 , dart::R17 = 17 , dart::R18 = 18 , dart::R19 = 19 ,
  dart::R20 = 20 , dart::R21 = 21 , dart::R22 = 22 , dart::R23 = 23 ,
  dart::R24 = 24 , dart::R25 = 25 , dart::R26 = 26 , dart::R27 = 27 ,
  dart::R28 = 28 , dart::R29 = 29 , dart::R30 = 30 , dart::R31 = 31 ,
  dart::kNumberOfCpuRegisters = 16 , dart::kNoRegister = -1 , dart::kNoRegister2 = -2 , dart::CSP = 32 ,
  dart::ZR = 33 , dart::IP0 = R16 , dart::IP1 = R17 , dart::SP = R13 ,
  dart::FP = R11 , dart::LR = R14 , dart::EAX = 0 , dart::ECX = 1 ,
  dart::EDX = 2 , dart::EBX = 3 , dart::ESP = 4 , dart::EBP = 5 ,
  dart::ESI = 6 , dart::EDI = 7 , dart::kNumberOfCpuRegisters = 16 , dart::kNoRegister = -1 ,
  dart::ZR = 33 , dart::RA = 1 , dart::SP = R13 , dart::GP = 3 ,
  dart::TP = 4 , dart::T0 = 5 , dart::T1 = 6 , dart::T2 = 7 ,
  dart::FP = R11 , dart::S1 = 1 , dart::A0 = 10 , dart::A1 = 11 ,
  dart::A2 = 12 , dart::A3 = 13 , dart::A4 = 14 , dart::A5 = 15 ,
  dart::A6 = 16 , dart::A7 = 17 , dart::S2 = 2 , dart::S3 = 3 ,
  dart::S4 = 4 , dart::S5 = 5 , dart::S6 = 6 , dart::S7 = 7 ,
  dart::S8 = 8 , dart::S9 = 9 , dart::S10 = 10 , dart::S11 = 11 ,
  dart::T3 = 28 , dart::T4 = 29 , dart::T5 = 30 , dart::T6 = 31 ,
  dart::kNumberOfCpuRegisters = 16 , dart::kNoRegister = -1 , dart::RA2 = T0 , dart::S0 = 0 ,
  dart::RAX = 0 , dart::RCX = 1 , dart::RDX = 2 , dart::RBX = 3 ,
  dart::RSP = 4 , dart::RBP = 5 , dart::RSI = 6 , dart::RDI = 7 ,
  dart::R8 = 8 , dart::R9 = 9 , dart::R10 = 10 , dart::R11 = 11 ,
  dart::R12 = 12 , dart::R13 = 13 , dart::R14 = 14 , dart::R15 = 15 ,
  dart::kNumberOfCpuRegisters = 16 , dart::kNoRegister = -1
}
 
enum  dart::SRegister {
  dart::kNoSRegister = -1 , dart::S0 = 0 , dart::S1 = 1 , dart::S2 = 2 ,
  dart::S3 = 3 , dart::S4 = 4 , dart::S5 = 5 , dart::S6 = 6 ,
  dart::S7 = 7 , dart::S8 = 8 , dart::S9 = 9 , dart::S10 = 10 ,
  dart::S11 = 11 , dart::S12 = 12 , dart::S13 = 13 , dart::S14 = 14 ,
  dart::S15 = 15 , dart::S16 = 16 , dart::S17 = 17 , dart::S18 = 18 ,
  dart::S19 = 19 , dart::S20 = 20 , dart::S21 = 21 , dart::S22 = 22 ,
  dart::S23 = 23 , dart::S24 = 24 , dart::S25 = 25 , dart::S26 = 26 ,
  dart::S27 = 27 , dart::S28 = 28 , dart::S29 = 29 , dart::S30 = 30 ,
  dart::S31 = 31 , dart::kNumberOfSRegisters = 32
}
 
enum  dart::DRegister {
  dart::kNoDRegister = -1 , dart::D0 = 0 , dart::D1 = 1 , dart::D2 = 2 ,
  dart::D3 = 3 , dart::D4 = 4 , dart::D5 = 5 , dart::D6 = 6 ,
  dart::D7 = 7 , dart::D8 = 8 , dart::D9 = 9 , dart::D10 = 10 ,
  dart::D11 = 11 , dart::D12 = 12 , dart::D13 = 13 , dart::D14 = 14 ,
  dart::D15 = 15 , dart::D16 = 16 , dart::D17 = 17 , dart::D18 = 18 ,
  dart::D19 = 19 , dart::D20 = 20 , dart::D21 = 21 , dart::D22 = 22 ,
  dart::D23 = 23 , dart::D24 = 24 , dart::D25 = 25 , dart::D26 = 26 ,
  dart::D27 = 27 , dart::D28 = 28 , dart::D29 = 29 , dart::D30 = 30 ,
  dart::D31 = 31 , dart::kNumberOfDRegisters = 32 , dart::kNumberOfOverlappingDRegisters = 16
}
 
enum  dart::QRegister {
  dart::kNoQRegister = -1 , dart::Q0 = 0 , dart::Q1 = 1 , dart::Q2 = 2 ,
  dart::Q3 = 3 , dart::Q4 = 4 , dart::Q5 = 5 , dart::Q6 = 6 ,
  dart::Q7 = 7 , dart::Q8 = 8 , dart::Q9 = 9 , dart::Q10 = 10 ,
  dart::Q11 = 11 , dart::Q12 = 12 , dart::Q13 = 13 , dart::Q14 = 14 ,
  dart::Q15 = 15 , dart::kNumberOfQRegisters = 16 , dart::kNumberOfOverlappingQRegisters = 8
}
 
enum  dart::Condition {
  dart::kNoCondition = -1 , dart::EQ = 0 , dart::NE = 1 , dart::CS = 2 ,
  dart::CC = 3 , dart::MI = 4 , dart::PL = 5 , dart::VS = 6 ,
  dart::VC = 7 , dart::HI = 8 , dart::LS = 9 , dart::GE = 10 ,
  dart::LT = 11 , dart::GT = 12 , dart::LE = 13 , dart::AL = 14 ,
  dart::kSpecialCondition = 15 , dart::kNumberOfConditions = 16 , dart::EQUAL = EQ , dart::ZERO = EQUAL ,
  dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL , dart::LESS = LT , dart::LESS_EQUAL = LE ,
  dart::GREATER_EQUAL = GE , dart::GREATER = GT , dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS ,
  dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS , dart::OVERFLOW = VS , dart::NO_OVERFLOW = VC ,
  dart::kInvalidCondition = 16 , dart::kNoCondition = -1 , dart::EQ = 0 , dart::NE = 1 ,
  dart::CS = 2 , dart::CC = 3 , dart::MI = 4 , dart::PL = 5 ,
  dart::VS = 6 , dart::VC = 7 , dart::HI = 8 , dart::LS = 9 ,
  dart::GE = 10 , dart::LT = 11 , dart::GT = 12 , dart::LE = 13 ,
  dart::AL = 14 , dart::NV = 15 , dart::kNumberOfConditions = 16 , dart::EQUAL = EQ ,
  dart::ZERO = EQUAL , dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL , dart::LESS = LT ,
  dart::LESS_EQUAL = LE , dart::GREATER_EQUAL = GE , dart::GREATER = GT , dart::UNSIGNED_LESS = CC ,
  dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS , dart::OVERFLOW = VS ,
  dart::NO_OVERFLOW = VC , dart::kInvalidCondition = 16 , dart::kNoCondition = -1 , dart::EQ = 0 ,
  dart::NE = 1 , dart::CS = 2 , dart::CC = 3 , dart::MI = 4 ,
  dart::PL = 5 , dart::VS = 6 , dart::VC = 7 , dart::HI = 8 ,
  dart::LS = 9 , dart::GE = 10 , dart::LT = 11 , dart::GT = 12 ,
  dart::LE = 13 , dart::AL = 14 , dart::NV = 15 , dart::kNumberOfConditions = 16 ,
  dart::EQUAL = EQ , dart::ZERO = EQUAL , dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL ,
  dart::LESS = LT , dart::LESS_EQUAL = LE , dart::GREATER_EQUAL = GE , dart::GREATER = GT ,
  dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS ,
  dart::OVERFLOW = VS , dart::NO_OVERFLOW = VC , dart::kInvalidCondition = 16 , dart::OVERFLOW = VS ,
  dart::NO_OVERFLOW = VC , dart::BELOW = 2 , dart::ABOVE_EQUAL = 3 , dart::EQUAL = EQ ,
  dart::NOT_EQUAL = NE , dart::BELOW_EQUAL = 6 , dart::ABOVE = 7 , dart::SIGN = 8 ,
  dart::NOT_SIGN = 9 , dart::PARITY_EVEN = 10 , dart::PARITY_ODD = 11 , dart::LESS = LT ,
  dart::GREATER_EQUAL = GE , dart::LESS_EQUAL = LE , dart::GREATER = GT , dart::ZERO = EQUAL ,
  dart::NOT_ZERO = NOT_EQUAL , dart::NEGATIVE = SIGN , dart::POSITIVE = NOT_SIGN , dart::CARRY = BELOW ,
  dart::NOT_CARRY = ABOVE_EQUAL , dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI ,
  dart::UNSIGNED_GREATER_EQUAL = CS , dart::kInvalidCondition = 16
}
 
enum  dart::Opcode {
  dart::kNoOperand = -1 , dart::AND = 0 , dart::EOR = 1 , dart::SUB = 2 ,
  dart::RSB = 3 , dart::ADD = 4 , dart::ADC = 5 , dart::SBC = 6 ,
  dart::RSC = 7 , dart::TST = 8 , dart::TEQ = 9 , dart::CMP = 10 ,
  dart::CMN = 11 , dart::ORR = 12 , dart::MOV = 13 , dart::BIC = 14 ,
  dart::MVN = 15 , dart::kMaxOperand = 16 , dart::LUI = 0b0110111 , dart::AUIPC = 0b0010111 ,
  dart::JAL = 0b1101111 , dart::JALR = 0b1100111 , dart::BRANCH = 0b1100011 , dart::LOAD = 0b0000011 ,
  dart::STORE = 0b0100011 , dart::OPIMM = 0b0010011 , dart::OP = 0b0110011 , dart::MISCMEM = 0b0001111 ,
  dart::SYSTEM = 0b1110011 , dart::OP32 = 0b0111011 , dart::OPIMM32 = 0b0011011 , dart::AMO = 0b0101111 ,
  dart::LOADFP = 0b0000111 , dart::STOREFP = 0b0100111 , dart::FMADD = 0b1000011 , dart::FMSUB = 0b1000111 ,
  dart::FNMSUB = 0b1001011 , dart::FNMADD = 0b1001111 , dart::OPFP = 0b1010011
}
 
enum  dart::Shift {
  dart::kNoShift = -1 , dart::LSL = 0 , dart::LSR = 1 , dart::ASR = 2 ,
  dart::ROR = 3 , dart::kMaxShift = 4 , dart::kNoShift = -1 , dart::LSL = 0 ,
  dart::LSR = 1 , dart::ASR = 2 , dart::ROR = 3 , dart::kMaxShift = 4
}
 
enum  dart::InstructionFields {
  dart::kConditionShift = 28 , dart::kConditionBits = 4 , dart::kTypeShift = 25 , dart::kTypeBits = 3 ,
  dart::kLinkShift = 24 , dart::kLinkBits = 1 , dart::kUShift = 23 , dart::kUBits = 1 ,
  dart::kOpcodeShift = 21 , dart::kOpcodeBits = 4 , dart::kSShift = 20 , dart::kSBits = 1 ,
  dart::kRnShift = 16 , dart::kRnBits = 4 , dart::kRdShift = 12 , dart::kRdBits = 4 ,
  dart::kRsShift = 8 , dart::kRsBits = 4 , dart::kRmShift = 0 , dart::kRmBits = 4 ,
  dart::kRotateShift = 8 , dart::kRotateBits = 4 , dart::kImmed8Shift = 0 , dart::kImmed8Bits = 8 ,
  dart::kShiftImmShift = 7 , dart::kShiftRegisterShift = 8 , dart::kShiftImmBits = 5 , dart::kShiftShift = 5 ,
  dart::kShiftBits = 2 , dart::kOffset12Shift = 0 , dart::kOffset12Bits = 12 , dart::kOffset12Mask = 0x00000fff ,
  dart::kMulRdShift = 16 , dart::kMulRdBits = 4 , dart::kMulRnShift = 12 , dart::kMulRnBits = 4 ,
  dart::kLdrExRnShift = 16 , dart::kLdrExRtShift = 12 , dart::kStrExRnShift = 16 , dart::kStrExRdShift = 12 ,
  dart::kStrExRtShift = 0 , dart::kMediaOp1Shift = 20 , dart::kMediaOp1Bits = 5 , dart::kMediaOp2Shift = 5 ,
  dart::kMediaOp2Bits = 3 , dart::kDivRdShift = 16 , dart::kDivRdBits = 4 , dart::kDivRmShift = 8 ,
  dart::kDivRmBits = 4 , dart::kDivRnShift = 0 , dart::kDivRnBits = 4 , dart::kBitFieldExtractWidthShift = 16 ,
  dart::kBitFieldExtractWidthBits = 5 , dart::kBitFieldExtractLSBShift = 7 , dart::kBitFieldExtractLSBBits = 5 , dart::kBitFieldExtractRnShift = 0 ,
  dart::kBitFieldExtractRnBits = 4 , dart::kCRmShift = 0 , dart::kCRmBits = 4 , dart::kOpc2Shift = 5 ,
  dart::kOpc2Bits = 3 , dart::kCoprocShift = 8 , dart::kCoprocBits = 4 , dart::kCRnShift = 16 ,
  dart::kCRnBits = 4 , dart::kOpc1Shift = 21 , dart::kOpc1Bits = 3 , dart::kBranchOffsetMask = 0x00ffffff ,
  dart::kSShift = 20 , dart::kSBits = 1 , dart::kSFShift = 31 , dart::kSFBits = 1 ,
  dart::kSzShift = 30 , dart::kSzBits = 2 , dart::kRdShift = 12 , dart::kRdBits = 4 ,
  dart::kRnShift = 16 , dart::kRnBits = 4 , dart::kRaShift = 10 , dart::kRaBits = 5 ,
  dart::kRmShift = 0 , dart::kRmBits = 4 , dart::kRtShift = 0 , dart::kRtBits = 5 ,
  dart::kRt2Shift = 10 , dart::kRt2Bits = 5 , dart::kRsShift = 8 , dart::kRsBits = 4 ,
  dart::kVdShift = 0 , dart::kVdBits = 5 , dart::kVnShift = 5 , dart::kVnBits = 5 ,
  dart::kVmShift = 16 , dart::kVmBits = 5 , dart::kVtShift = 0 , dart::kVtBits = 5 ,
  dart::kVt2Shift = 10 , dart::kVt2Bits = 5 , dart::kImm3Shift = 10 , dart::kImm3Bits = 3 ,
  dart::kImm4Shift = 11 , dart::kImm4Bits = 4 , dart::kImm5Shift = 16 , dart::kImm5Bits = 5 ,
  dart::kImm6Shift = 10 , dart::kImm6Bits = 6 , dart::kImm7Shift = 15 , dart::kImm7Bits = 7 ,
  dart::kImm7Mask = 0x7f << kImm7Shift , dart::kImm8Shift = 13 , dart::kImm8Bits = 8 , dart::kImm9Shift = 12 ,
  dart::kImm9Bits = 9 , dart::kImm12Shift = 10 , dart::kImm12Bits = 12 , dart::kImm12Mask = 0xfff << kImm12Shift ,
  dart::kImm12ShiftShift = 22 , dart::kImm12ShiftBits = 2 , dart::kImm14Shift = 5 , dart::kImm14Bits = 14 ,
  dart::kImm14Mask = 0x3fff << kImm14Shift , dart::kImm16Shift = 5 , dart::kImm16Bits = 16 , dart::kImm16Mask = 0xffff << kImm16Shift ,
  dart::kImm19Shift = 5 , dart::kImm19Bits = 19 , dart::kImm19Mask = 0x7ffff << kImm19Shift , dart::kImm26Shift = 0 ,
  dart::kImm26Bits = 26 , dart::kImm26Mask = 0x03ffffff << kImm26Shift , dart::kCondShift = 0 , dart::kCondBits = 4 ,
  dart::kCondMask = 0xf << kCondShift , dart::kSelCondShift = 12 , dart::kSelCondBits = 4 , dart::kNShift = 22 ,
  dart::kNBits = 1 , dart::kImmRShift = 16 , dart::kImmRBits = 6 , dart::kImmSShift = 10 ,
  dart::kImmSBits = 6 , dart::kHWShift = 21 , dart::kHWBits = 2 , dart::kAddShiftExtendShift = 21 ,
  dart::kAddShiftExtendBits = 1 , dart::kShiftTypeShift = 22 , dart::kShiftTypeBits = 2 , dart::kExtendTypeShift = 13 ,
  dart::kExtendTypeBits = 3 , dart::kHintCRmShift = 8 , dart::kHintCRmBits = 4 , dart::kHintOp2Shift = 5 ,
  dart::kHintOp2Bits = 3
}
 
enum  dart::ScaleFactor {
  dart::TIMES_1 = 0 , dart::TIMES_2 = 1 , dart::TIMES_4 = 2 , dart::TIMES_8 = 3 ,
  dart::TIMES_16 = 4 , dart::TIMES_COMPRESSED_WORD_SIZE = TIMES_WORD_SIZE , dart::TIMES_COMPRESSED_HALF_WORD_SIZE = TIMES_COMPRESSED_WORD_SIZE - 1 , dart::TIMES_1 = 0 ,
  dart::TIMES_2 = 1 , dart::TIMES_4 = 2 , dart::TIMES_8 = 3 , dart::TIMES_16 = 4 ,
  dart::TIMES_COMPRESSED_WORD_SIZE = TIMES_WORD_SIZE , dart::TIMES_COMPRESSED_HALF_WORD_SIZE = TIMES_COMPRESSED_WORD_SIZE - 1 , dart::TIMES_1 = 0 , dart::TIMES_2 = 1 ,
  dart::TIMES_4 = 2 , dart::TIMES_8 = 3 , dart::TIMES_16 = 4 , dart::TIMES_COMPRESSED_WORD_SIZE = TIMES_WORD_SIZE ,
  dart::TIMES_COMPRESSED_HALF_WORD_SIZE = TIMES_COMPRESSED_WORD_SIZE - 1 , dart::TIMES_1 = 0 , dart::TIMES_2 = 1 , dart::TIMES_4 = 2 ,
  dart::TIMES_8 = 3 , dart::TIMES_16 = 4 , dart::TIMES_COMPRESSED_WORD_SIZE = TIMES_WORD_SIZE , dart::TIMES_COMPRESSED_HALF_WORD_SIZE = TIMES_COMPRESSED_WORD_SIZE - 1 ,
  dart::TIMES_1 = 0 , dart::TIMES_2 = 1 , dart::TIMES_4 = 2 , dart::TIMES_8 = 3 ,
  dart::TIMES_16 = 4 , dart::TIMES_COMPRESSED_WORD_SIZE = TIMES_WORD_SIZE , dart::TIMES_COMPRESSED_HALF_WORD_SIZE = TIMES_COMPRESSED_WORD_SIZE - 1
}
 

Functions

static DRegister dart::EvenDRegisterOf (QRegister q)
 
static DRegister dart::OddDRegisterOf (QRegister q)
 
static SRegister dart::EvenSRegisterOf (DRegister d)
 
static SRegister dart::OddSRegisterOf (DRegister d)
 
static QRegister dart::QRegisterOf (DRegister d)
 
static QRegister dart::QRegisterOf (SRegister s)
 
static DRegister dart::DRegisterOf (SRegister s)
 
static Condition dart::InvertCondition (Condition c)
 
float dart::ReciprocalEstimate (float op)
 
float dart::ReciprocalStep (float op1, float op2)
 
float dart::ReciprocalSqrtEstimate (float op)
 
float dart::ReciprocalSqrtStep (float op1, float op2)
 
constexpr bool dart::operator== (Register r, LinkRegister)
 
constexpr bool dart::operator!= (Register r, LinkRegister lr)
 
Register dart::ConcreteRegister (LinkRegister)
 

Variables

const QRegister dart::QTMP = Q7
 
const DRegister dart::DTMP = EvenDRegisterOf(QTMP)
 
const SRegister STMP dart::DART_USED = EvenSRegisterOf(DTMP)
 
const FpuRegister dart::FpuTMP = QTMP
 
const int dart::kFpuRegisterSize = 16
 
const int dart::kNumberOfFpuRegisters = kNumberOfQRegisters
 
const FpuRegister dart::kNoFpuRegister = kNoQRegister
 
const char *const dart::cpu_reg_names [kNumberOfCpuRegisters]
 
const char *const dart::cpu_reg_abi_names [kNumberOfCpuRegisters]
 
const char *const dart::fpu_reg_names [kNumberOfFpuRegisters]
 
const char *const dart::fpu_s_reg_names [kNumberOfSRegisters]
 
const char *const dart::fpu_d_reg_names [kNumberOfDRegisters]
 
const Register dart::TMP = IP
 
const Register dart::TMP2 = kNoRegister
 
const Register dart::PP = R5
 
const Register dart::DISPATCH_TABLE_REG = NOTFP
 
const Register dart::SPREG = SP
 
const Register dart::FPREG = FP
 
const Register dart::IC_DATA_REG = R9
 
const Register dart::ARGS_DESC_REG = R4
 
const Register dart::CODE_REG = R6
 
const Register dart::FUNCTION_REG = R0
 
const Register dart::THR = R10
 
const Register dart::CALLEE_SAVED_TEMP = R8
 
const Register dart::APSR = R15
 
const Register dart::kExceptionObjectReg = R0
 
const Register dart::kStackTraceObjectReg = R1
 
const Register dart::kWriteBarrierObjectReg = R1
 
const Register dart::kWriteBarrierValueReg = R0
 
const Register dart::kWriteBarrierSlotReg = R9
 
const RegList dart::kAllCpuRegistersList = 0xFFFF
 
const RegList dart::kAllFpuRegistersList = (1 << kNumberOfFpuRegisters) - 1
 
const RegList dart::kAbiArgumentCpuRegs
 
const RegList dart::kAbiVolatileCpuRegs = kAbiArgumentCpuRegs | (1 << IP) | (1 << LR)
 
const RegList dart::kAbiPreservedCpuRegs
 
const int dart::kAbiPreservedCpuRegCount = 7
 
const QRegister dart::kAbiFirstPreservedFpuReg = Q4
 
const QRegister dart::kAbiLastPreservedFpuReg = Q7
 
const int dart::kAbiPreservedFpuRegCount = 4
 
const RegList dart::kReservedCpuRegisters
 
constexpr intptr_t dart::kNumberOfReservedCpuRegisters
 
constexpr RegList dart::kDartAvailableCpuRegs
 
constexpr int dart::kNumberOfDartAvailableCpuRegs
 
constexpr int dart::kRegisterAllocationBias = 0
 
const intptr_t dart::kStoreBufferWrapperSize = 24
 
const RegList dart::kDartVolatileCpuRegs
 
const int dart::kDartVolatileCpuRegCount = 5
 
const RegList dart::kAbiVolatileFpuRegs = R(Q0) | R(Q1) | R(Q2) | R(Q3)
 
const RegList dart::kFpuRegistersWithoutSOverlap
 
constexpr uword dart::kBreakInstructionFiller = 0xE1200070
 
constexpr uword dart::kDataMemoryBarrier = 0xf57ff050 | 0xb
 
const intptr_t dart::kPreferredLoopAlignment = 1
 

Macro Definition Documentation

◆ LINK_REGISTER

#define LINK_REGISTER   (LinkRegister())

Definition at line 1338 of file constants_arm.h.

◆ LR

#define LR   LR_DO_NOT_USE_DIRECTLY

Definition at line 32 of file constants_arm.h.

◆ R

#define R (   reg)    (static_cast<RegList>(1) << (reg))

Definition at line 34 of file constants_arm.h.