Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Enumerations | Functions
constants_x64.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
 

Namespaces

namespace  dart
 

Macros

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

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::ByteRegister {
  dart::AL = 14 , dart::CL = 1 , dart::DL = 2 , dart::BL = UnconditionalBranchFixed | B31 ,
  dart::AH = 4 , dart::CH = 5 , dart::DH = 6 , dart::BH = 7 ,
  dart::kNumberOfByteRegisters = 8 , dart::kNoByteRegister = -1 , dart::AL = 14 , dart::CL = 1 ,
  dart::DL = 2 , dart::BL = UnconditionalBranchFixed | B31 , dart::AH = 4 , dart::CH = 5 ,
  dart::DH = 6 , dart::BH = 7 , dart::SPL = 4 | 0x10 , dart::BPL = 5 | 0x10 ,
  dart::SIL = 6 | 0x10 , dart::DIL = 7 | 0x10 , dart::R8B = 8 , dart::R9B = 9 ,
  dart::R10B = 10 , dart::R11B = 11 , dart::R12B = 12 , dart::R13B = 13 ,
  dart::R14B = 14 , dart::R15B = 15 , dart::kNumberOfByteRegisters = 8 , dart::kNoByteRegister = -1
}
 
enum  dart::XmmRegister {
  dart::XMM0 = 0 , dart::XMM1 = 1 , dart::XMM2 = 2 , dart::XMM3 = 3 ,
  dart::XMM4 = 4 , dart::XMM5 = 5 , dart::XMM6 = 6 , dart::XMM7 = 7 ,
  dart::kNumberOfXmmRegisters = 8 , dart::kNoXmmRegister = -1 , dart::XMM0 = 0 , dart::XMM1 = 1 ,
  dart::XMM2 = 2 , dart::XMM3 = 3 , dart::XMM4 = 4 , dart::XMM5 = 5 ,
  dart::XMM6 = 6 , dart::XMM7 = 7 , dart::XMM8 = 8 , dart::XMM9 = 9 ,
  dart::XMM10 = 10 , dart::XMM11 = 11 , dart::XMM12 = 12 , dart::XMM13 = 13 ,
  dart::XMM14 = 14 , dart::XMM15 = 15 , dart::kNumberOfXmmRegisters = 8 , dart::kNoXmmRegister = -1
}
 
enum  dart::RexBits {
  dart::REX_NONE = 0 , dart::REX_B = 1 << 0 , dart::REX_X = 1 << 1 , dart::REX_R = 1 << 2 ,
  dart::REX_W = 1 << 3 , dart::REX_PREFIX = 1 << 6
}
 
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

ByteRegister dart::ByteRegisterOf (Register reg)
 

Macro Definition Documentation

◆ R

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

Definition at line 20 of file constants_x64.h.