#include <constants_arm.h>
Definition at line 979 of file constants_arm.h.
◆ anonymous enum
Enumerator |
---|
kInstrSize | |
kInstrSizeLog2 | |
kPCReadOffset | |
Definition at line 981 of file constants_arm.h.
◆ anonymous enum
◆ WideSize
◆ Instr()
dart::Instr::Instr |
( |
uint32_t |
encoding | ) |
|
|
inlineexplicit |
◆ At() [1/4]
◆ At() [2/4]
◆ At() [3/4]
◆ At() [4/4]
◆ BField()
int dart::Instr::BField |
( |
| ) |
const |
|
inline |
◆ Bit() [1/2]
int dart::Instr::Bit |
( |
int |
nr | ) |
const |
|
inline |
◆ Bit() [2/2]
int dart::Instr::Bit |
( |
int |
nr | ) |
const |
|
inline |
◆ BitFieldExtractLSBField()
uint8_t dart::Instr::BitFieldExtractLSBField |
( |
| ) |
const |
|
inline |
Definition at line 1140 of file constants_arm.h.
1140 {
1142 }
int Bits(int shift, int count) const
@ kBitFieldExtractLSBBits
@ kBitFieldExtractLSBShift
◆ BitFieldExtractRnField()
Register dart::Instr::BitFieldExtractRnField |
( |
| ) |
const |
|
inline |
◆ BitFieldExtractWidthField()
uint8_t dart::Instr::BitFieldExtractWidthField |
( |
| ) |
const |
|
inline |
Definition at line 1137 of file constants_arm.h.
1137 {
1139 }
@ kBitFieldExtractWidthBits
@ kBitFieldExtractWidthShift
◆ Bits() [1/2]
int dart::Instr::Bits |
( |
int |
shift, |
|
|
int |
count |
|
) |
| const |
|
inline |
◆ Bits() [2/2]
int dart::Instr::Bits |
( |
int |
shift, |
|
|
int |
count |
|
) |
| const |
|
inline |
◆ BkptField()
uint16_t dart::Instr::BkptField |
( |
| ) |
const |
|
inline |
◆ btype_imm()
intx_t dart::Instr::btype_imm |
( |
| ) |
const |
|
inline |
◆ ConditionField() [1/2]
Condition dart::Instr::ConditionField |
( |
| ) |
const |
|
inline |
◆ ConditionField() [2/2]
Condition dart::Instr::ConditionField |
( |
| ) |
const |
|
inline |
◆ csr()
uint32_t dart::Instr::csr |
( |
| ) |
const |
|
inline |
◆ DdField()
◆ DivRdField()
Register dart::Instr::DivRdField |
( |
| ) |
const |
|
inline |
◆ DivRmField()
Register dart::Instr::DivRmField |
( |
| ) |
const |
|
inline |
◆ DivRnField()
Register dart::Instr::DivRnField |
( |
| ) |
const |
|
inline |
◆ DmField()
◆ DnField()
◆ encoding()
uint32_t dart::Instr::encoding |
( |
| ) |
const |
|
inline |
◆ ExtendTypeField()
Extend dart::Instr::ExtendTypeField |
( |
| ) |
const |
|
inline |
◆ ExtShiftAmountField()
int dart::Instr::ExtShiftAmountField |
( |
| ) |
const |
|
inline |
◆ frd()
◆ frs1()
◆ frs2()
◆ frs3()
◆ funct12()
Funct12 dart::Instr::funct12 |
( |
| ) |
const |
|
inline |
◆ funct2()
Funct2 dart::Instr::funct2 |
( |
| ) |
const |
|
inline |
◆ funct3()
Funct3 dart::Instr::funct3 |
( |
| ) |
const |
|
inline |
◆ funct5()
Funct5 dart::Instr::funct5 |
( |
| ) |
const |
|
inline |
◆ funct7()
Funct7 dart::Instr::funct7 |
( |
| ) |
const |
|
inline |
◆ HasB()
bool dart::Instr::HasB |
( |
| ) |
const |
|
inline |
◆ HasH()
bool dart::Instr::HasH |
( |
| ) |
const |
|
inline |
◆ HasL()
bool dart::Instr::HasL |
( |
| ) |
const |
|
inline |
◆ HasLink()
bool dart::Instr::HasLink |
( |
| ) |
const |
|
inline |
◆ HasS() [1/2]
bool dart::Instr::HasS |
( |
| ) |
const |
|
inline |
◆ HasS() [2/2]
bool dart::Instr::HasS |
( |
| ) |
const |
|
inline |
◆ HasSign()
bool dart::Instr::HasSign |
( |
| ) |
const |
|
inline |
◆ HasW()
bool dart::Instr::HasW |
( |
| ) |
const |
|
inline |
◆ HField()
int dart::Instr::HField |
( |
| ) |
const |
|
inline |
◆ HWField()
int dart::Instr::HWField |
( |
| ) |
const |
|
inline |
◆ Imm12Field()
int dart::Instr::Imm12Field |
( |
| ) |
const |
|
inline |
◆ Imm12ShiftField()
int dart::Instr::Imm12ShiftField |
( |
| ) |
const |
|
inline |
◆ Imm14Field()
int dart::Instr::Imm14Field |
( |
| ) |
const |
|
inline |
◆ Imm16Field()
int dart::Instr::Imm16Field |
( |
| ) |
const |
|
inline |
◆ Imm19Field()
int dart::Instr::Imm19Field |
( |
| ) |
const |
|
inline |
◆ Imm26Field()
int dart::Instr::Imm26Field |
( |
| ) |
const |
|
inline |
◆ Imm3Field()
int dart::Instr::Imm3Field |
( |
| ) |
const |
|
inline |
◆ Imm6Field()
int dart::Instr::Imm6Field |
( |
| ) |
const |
|
inline |
◆ Imm7Field()
int dart::Instr::Imm7Field |
( |
| ) |
const |
|
inline |
◆ Imm8Field()
int dart::Instr::Imm8Field |
( |
| ) |
const |
|
inline |
◆ Imm9Field()
int dart::Instr::Imm9Field |
( |
| ) |
const |
|
inline |
◆ ImmDoubleField()
double dart::Instr::ImmDoubleField |
( |
| ) |
const |
|
inline |
Definition at line 1109 of file constants_arm.h.
1109 {
1110 uint64_t imm64 = (
Bit(19) * (1LL << 63)) | (((1LL << 8) -
Bit(18)) << 54) |
1111 (
Bits(16, 2) * (1LL << 52)) | (
Bits(0, 4) * (1LL << 48));
1112 return bit_cast<double, uint64_t>(imm64);
1113 }
◆ Immed8Field()
int dart::Instr::Immed8Field |
( |
| ) |
const |
|
inline |
◆ ImmedHField()
int dart::Instr::ImmedHField |
( |
| ) |
const |
|
inline |
◆ ImmedLField()
int dart::Instr::ImmedLField |
( |
| ) |
const |
|
inline |
◆ ImmFloatField()
float dart::Instr::ImmFloatField |
( |
| ) |
const |
|
inline |
Definition at line 1102 of file constants_arm.h.
1102 {
1103 uint32_t imm32 = (
Bit(19) << 31) | (((1 << 5) -
Bit(18)) << 25) |
1104 (
Bits(16, 2) << 23) | (
Bits(0, 4) << 19);
1105 return bit_cast<float, uint32_t>(imm32);
1106 }
◆ ImmLogical()
uint64_t dart::Instr::ImmLogical |
( |
| ) |
|
|
inline |
Definition at line 1556 of file constants_arm64.h.
1556 {
1558 const int64_t n =
NField();
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578 if (n == 1) {
1579 if (imm_s == 0x3F) {
1580 return 0;
1581 }
1582 uint64_t
bits = (1ULL << (imm_s + 1)) - 1;
1584 } else {
1585 if ((imm_s >> 1) == 0x1F) {
1586 return 0;
1587 }
1589 if ((imm_s &
width) == 0) {
1590 int mask =
width - 1;
1591 if ((imm_s & mask) == mask) {
1592 return 0;
1593 }
1594 uint64_t
bits = (1ULL << ((imm_s & mask) + 1)) - 1;
1597 }
1598 }
1599 }
1601 return 0;
1602 }
const int kXRegSizeInBits
static uint64_t RotateRight(uint64_t value, uint8_t rotate, uint8_t width)
const int kWRegSizeInBits
static uint64_t RepeatBitsAcrossReg(uint8_t reg_size, uint64_t value, uint8_t width)
◆ ImmRField()
int dart::Instr::ImmRField |
( |
| ) |
const |
|
inline |
◆ ImmSField()
int dart::Instr::ImmSField |
( |
| ) |
const |
|
inline |
◆ InstructionBits() [1/2]
int32_t dart::Instr::InstructionBits |
( |
| ) |
const |
|
inline |
Definition at line 1007 of file constants_arm.h.
1007 {
1008 return *reinterpret_cast<const int32_t*>(this);
1009 }
◆ InstructionBits() [2/2]
int32_t dart::Instr::InstructionBits |
( |
| ) |
const |
|
inline |
Definition at line 1366 of file constants_arm64.h.
1366 {
1367 return *reinterpret_cast<const int32_t*>(this);
1368 }
◆ IsBitFieldExtract()
bool dart::Instr::IsBitFieldExtract |
( |
| ) |
const |
|
inline |
Definition at line 1278 of file constants_arm.h.
1278 {
1281
1282
1285 }
int MediaOp1Field() const
Condition ConditionField() const
int MediaOp2Field() const
◆ IsBitFieldExtractSignExtended()
bool dart::Instr::IsBitFieldExtractSignExtended |
( |
| ) |
const |
|
inline |
◆ IsBkpt()
bool dart::Instr::IsBkpt |
( |
| ) |
const |
|
inline |
◆ IsBreakPoint() [1/2]
bool dart::Instr::IsBreakPoint |
( |
| ) |
|
|
inline |
Definition at line 436 of file constants_ia32.h.
436 {
439 }
static constexpr int32_t kBreakPointInstruction
static constexpr int kBreakPointInstructionSize
◆ IsBreakPoint() [2/2]
bool dart::Instr::IsBreakPoint |
( |
| ) |
|
|
inline |
◆ IsDataProcessing()
bool dart::Instr::IsDataProcessing |
( |
| ) |
const |
|
inline |
◆ IsDivision()
bool dart::Instr::IsDivision |
( |
| ) |
const |
|
inline |
◆ IsDivUnsigned()
bool dart::Instr::IsDivUnsigned |
( |
| ) |
const |
|
inline |
◆ IsExtend()
bool dart::Instr::IsExtend |
( |
| ) |
const |
|
inline |
◆ IsMedia()
bool dart::Instr::IsMedia |
( |
| ) |
const |
|
inline |
Definition at line 1257 of file constants_arm.h.
1257 {
1260 }
#define ASSERT_EQUAL(expected, actual)
◆ IsMiscellaneous()
bool dart::Instr::IsMiscellaneous |
( |
| ) |
const |
|
inline |
◆ IsMultiplyOrSyncPrimitive()
bool dart::Instr::IsMultiplyOrSyncPrimitive |
( |
| ) |
const |
|
inline |
◆ IsRbit()
bool dart::Instr::IsRbit |
( |
| ) |
const |
|
inline |
◆ IsShift()
bool dart::Instr::IsShift |
( |
| ) |
const |
|
inline |
◆ IsSIMDDataProcessing()
bool dart::Instr::IsSIMDDataProcessing |
( |
| ) |
const |
|
inline |
◆ IsSIMDLoadStore()
bool dart::Instr::IsSIMDLoadStore |
( |
| ) |
const |
|
inline |
◆ IsSvc()
bool dart::Instr::IsSvc |
( |
| ) |
const |
|
inline |
◆ IsVFPDataProcessingOrSingleTransfer()
bool dart::Instr::IsVFPDataProcessingOrSingleTransfer |
( |
| ) |
const |
|
inline |
◆ IsVFPDoubleTransfer()
bool dart::Instr::IsVFPDoubleTransfer |
( |
| ) |
const |
|
inline |
◆ IsVFPLoadStore()
bool dart::Instr::IsVFPLoadStore |
( |
| ) |
const |
|
inline |
◆ IsVFPMultipleLoadStore()
bool dart::Instr::IsVFPMultipleLoadStore |
( |
| ) |
const |
|
inline |
Definition at line 1239 of file constants_arm.h.
1239 {
1243 return (
Bits(9, 3) == 5) && ((puw == 2) || (puw == 3) || (puw == 5));
1244 }
◆ itype_imm()
intx_t dart::Instr::itype_imm |
( |
| ) |
const |
|
inline |
◆ jtype_imm()
intx_t dart::Instr::jtype_imm |
( |
| ) |
const |
|
inline |
◆ length()
size_t dart::Instr::length |
( |
| ) |
const |
|
inline |
◆ LField()
int dart::Instr::LField |
( |
| ) |
const |
|
inline |
◆ LinkField()
int dart::Instr::LinkField |
( |
| ) |
const |
|
inline |
◆ MediaOp1Field()
int dart::Instr::MediaOp1Field |
( |
| ) |
const |
|
inline |
◆ MediaOp2Field()
int dart::Instr::MediaOp2Field |
( |
| ) |
const |
|
inline |
◆ memory_order()
std::memory_order dart::Instr::memory_order |
( |
| ) |
const |
|
inline |
Definition at line 1124 of file constants_riscv.h.
1124 {
1127 if (acquire && release) return std::memory_order_acq_rel;
1128 if (acquire) return std::memory_order_acquire;
1129 if (release) return std::memory_order_release;
1130 return std::memory_order_relaxed;
1131 }
const intptr_t kReleaseShift
const intptr_t kAcquireShift
◆ MovwField()
uint16_t dart::Instr::MovwField |
( |
| ) |
const |
|
inline |
◆ NField()
int dart::Instr::NField |
( |
| ) |
const |
|
inline |
◆ Offset12Field()
int dart::Instr::Offset12Field |
( |
| ) |
const |
|
inline |
◆ opcode()
Opcode dart::Instr::opcode |
( |
| ) |
const |
|
inline |
◆ OpcodeField()
Opcode dart::Instr::OpcodeField |
( |
| ) |
const |
|
inline |
◆ PUField()
int dart::Instr::PUField |
( |
| ) |
const |
|
inline |
◆ QdField()
◆ QmField()
◆ QnField()
◆ RaField()
◆ rd()
◆ RdField() [1/2]
◆ RdField() [2/2]
◆ RdMode()
R31Type dart::Instr::RdMode |
( |
| ) |
const |
|
inline |
Definition at line 1513 of file constants_arm64.h.
1513 {
1514
1515
1516
1517
1518
1519 if (IsAddSubImmOp() || (IsAddSubShiftExtOp() &&
IsExtend())) {
1522 } else {
1524 }
1525 }
1526 if (IsLogicalImmOp()) {
1527 const int op =
Bits(29, 2);
1528 const bool set_flags = op == 3;
1529 if (set_flags) {
1531 } else {
1533 }
1534 }
1536 }
◆ RegShiftField()
int dart::Instr::RegShiftField |
( |
| ) |
const |
|
inline |
◆ RlistField()
int dart::Instr::RlistField |
( |
| ) |
const |
|
inline |
◆ RmField() [1/2]
◆ RmField() [2/2]
◆ RnField() [1/2]
◆ RnField() [2/2]
◆ RnMode()
R31Type dart::Instr::RnMode |
( |
| ) |
const |
|
inline |
Definition at line 1540 of file constants_arm64.h.
1540 {
1541
1542
1543
1544
1545
1546 if (IsLoadStoreOp() || IsAddSubImmOp() ||
1547 (IsAddSubShiftExtOp() &&
IsExtend())) {
1549 }
1551 }
◆ RotateField()
int dart::Instr::RotateField |
( |
| ) |
const |
|
inline |
◆ rounding()
◆ rs1()
◆ rs2()
◆ RsField() [1/2]
◆ RsField() [2/2]
◆ Rt2Field()
Register dart::Instr::Rt2Field |
( |
| ) |
const |
|
inline |
◆ RtField()
◆ SdField()
◆ SelectConditionField()
Condition dart::Instr::SelectConditionField |
( |
| ) |
const |
|
inline |
◆ SetImm12Bits()
void dart::Instr::SetImm12Bits |
( |
int32_t |
orig, |
|
|
int32_t |
imm12 |
|
) |
| |
|
inline |
Definition at line 1392 of file constants_arm64.h.
1392 {
1393 ASSERT((imm12 & 0xfffff000) == 0);
1395 }
void SetInstructionBits(int32_t value)
◆ SetInstructionBits() [1/2]
void dart::Instr::SetInstructionBits |
( |
int32_t |
value | ) |
|
|
inline |
◆ SetInstructionBits() [2/2]
void dart::Instr::SetInstructionBits |
( |
int32_t |
value | ) |
|
|
inline |
◆ SetMoveWideBits()
Definition at line 1375 of file constants_arm64.h.
1379 {
1380 ASSERT((hw >= 0) && (hw <= 3));
1383 (
static_cast<int32_t
>(hw) <<
kHWShift) |
1385 }
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
◆ SetUnconditionalBranchRegBits()
◆ SFField()
int dart::Instr::SFField |
( |
| ) |
const |
|
inline |
◆ SField() [1/2]
int dart::Instr::SField |
( |
| ) |
const |
|
inline |
◆ SField() [2/2]
int dart::Instr::SField |
( |
| ) |
const |
|
inline |
◆ shamt()
uint32_t dart::Instr::shamt |
( |
| ) |
const |
|
inline |
◆ ShiftAmountField() [1/2]
int dart::Instr::ShiftAmountField |
( |
| ) |
const |
|
inline |
◆ ShiftAmountField() [2/2]
int dart::Instr::ShiftAmountField |
( |
| ) |
const |
|
inline |
◆ ShiftField()
Shift dart::Instr::ShiftField |
( |
| ) |
const |
|
inline |
◆ ShiftTypeField()
Shift dart::Instr::ShiftTypeField |
( |
| ) |
const |
|
inline |
◆ SignField()
int dart::Instr::SignField |
( |
| ) |
const |
|
inline |
◆ SImm14Field()
int64_t dart::Instr::SImm14Field |
( |
| ) |
const |
|
inline |
◆ SImm19Field()
int64_t dart::Instr::SImm19Field |
( |
| ) |
const |
|
inline |
◆ SImm26Field()
int64_t dart::Instr::SImm26Field |
( |
| ) |
const |
|
inline |
◆ SImm7Field()
int64_t dart::Instr::SImm7Field |
( |
| ) |
const |
|
inline |
◆ SImm9Field()
int64_t dart::Instr::SImm9Field |
( |
| ) |
const |
|
inline |
◆ SImmed24Field()
int32_t dart::Instr::SImmed24Field |
( |
| ) |
const |
|
inline |
Definition at line 1083 of file constants_arm.h.
1083 {
1085 return static_cast<int32_t>(bits << 8) >> 8;
1086 }
◆ SmField()
◆ SnField()
◆ stype_imm()
intx_t dart::Instr::stype_imm |
( |
| ) |
const |
|
inline |
◆ SubtypeField()
int dart::Instr::SubtypeField |
( |
| ) |
const |
|
inline |
◆ SvcField()
uint32_t dart::Instr::SvcField |
( |
| ) |
const |
|
inline |
◆ SzField()
int dart::Instr::SzField |
( |
| ) |
const |
|
inline |
◆ TypeField()
int dart::Instr::TypeField |
( |
| ) |
const |
|
inline |
◆ utype_imm()
intx_t dart::Instr::utype_imm |
( |
| ) |
const |
|
inline |
◆ VdField()
◆ VFPExpandImm()
static int64_t dart::Instr::VFPExpandImm |
( |
uint8_t |
imm8 | ) |
|
|
inlinestatic |
Definition at line 1604 of file constants_arm64.h.
1604 {
1605 const int64_t
sign =
static_cast<int64_t
>((imm8 & 0x80) >> 7) << 63;
1606 const int64_t hi_exp = static_cast<int64_t>(!((imm8 & 0x40) >> 6)) << 62;
1607 const int64_t mid_exp = (((imm8 & 0x40) >> 6) == 0) ? 0 : (0xffLL << 54);
1608 const int64_t low_exp = static_cast<int64_t>((imm8 & 0x30) >> 4) << 52;
1609 const int64_t frac = static_cast<int64_t>(imm8 & 0x0f) << 48;
1610 return sign | hi_exp | mid_exp | low_exp | frac;
1611 }
static int sign(SkScalar x)
◆ VmField()
◆ VnField()
◆ Vt2Field()
◆ VtField()
◆ WField()
int dart::Instr::WField |
( |
| ) |
const |
|
inline |
◆ zimm()
uint32_t dart::Instr::zimm |
( |
| ) |
const |
|
inline |
◆ kBreakPointCode
static constexpr int32_t dart::Instr::kBreakPointCode = 0xdeb0 |
|
staticconstexpr |
◆ kBreakPointInstruction [1/3]
static constexpr uint8_t dart::Instr::kBreakPointInstruction |
|
staticconstexpr |
◆ kBreakPointInstruction [2/3]
◆ kBreakPointInstruction [3/3]
constexpr uint32_t dart::Instr::kBreakPointInstruction = 0 |
|
staticconstexpr |
◆ kBreakPointInstructionSize
static constexpr int dart::Instr::kBreakPointInstructionSize = 1 |
|
staticconstexpr |
◆ kGdbBreakpointInstruction
constexpr uint8_t dart::Instr::kGdbBreakpointInstruction = 0xcc |
|
staticconstexpr |
◆ kHltInstruction
static constexpr uint8_t dart::Instr::kHltInstruction = 0xF4 |
|
staticconstexpr |
◆ kInstrSize
constexpr uint32_t dart::Instr::kInstrSize = 4 |
|
staticconstexpr |
◆ kNopInstruction
static constexpr int32_t dart::Instr::kNopInstruction |
|
staticconstexpr |
◆ kSimulatorBreakCode
static constexpr int32_t dart::Instr::kSimulatorBreakCode |
|
staticconstexpr |
◆ kSimulatorBreakpointInstruction
static constexpr int32_t dart::Instr::kSimulatorBreakpointInstruction |
|
staticconstexpr |
Initial value:=
static constexpr int32_t kSimulatorBreakCode
Definition at line 998 of file constants_arm.h.
◆ kSimulatorRedirectCode
static constexpr int32_t dart::Instr::kSimulatorRedirectCode = 0xca11 |
|
staticconstexpr |
◆ kSimulatorRedirectInstruction [1/2]
static constexpr int32_t dart::Instr::kSimulatorRedirectInstruction |
|
staticconstexpr |
Initial value:=
static constexpr int32_t kSimulatorRedirectCode
Definition at line 1003 of file constants_arm.h.
◆ kSimulatorRedirectInstruction [2/2]
constexpr uint32_t dart::Instr::kSimulatorRedirectInstruction |
|
staticconstexpr |
The documentation for this class was generated from the following files: