V8 Project
v8::internal::Instruction Class Reference

#include <constants-arm.h>

+ Inheritance diagram for v8::internal::Instruction:
+ Collaboration diagram for v8::internal::Instruction:

Public Types

enum  { kInstrSize = 4 , kInstrSizeLog2 = 2 , kPCReadOffset = 8 }
 
enum  CheckAlignment { NO_CHECK , CHECK_ALIGNMENT }
 
enum  { kInstrSize = 4 , kInstrSizeLog2 = 2 , kPCReadOffset = 8 }
 
enum  Type {
  kRegisterType , kImmediateType , kJumpType , kUnsupported = -1 ,
  kRegisterType , kImmediateType , kJumpType , kUnsupported = -1
}
 
enum  { kInstrSize = 4 , kInstrSizeLog2 = 2 , kPCReadOffset = 8 }
 
enum  Type {
  kRegisterType , kImmediateType , kJumpType , kUnsupported = -1 ,
  kRegisterType , kImmediateType , kJumpType , kUnsupported = -1
}
 

Public Member Functions

Instr InstructionBits () const
 
void SetInstructionBits (Instr value)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
int BitField (int hi, int lo) const
 
Condition ConditionValue () const
 
Condition ConditionField () const
 
 DECLARE_STATIC_TYPED_ACCESSOR (Condition, ConditionValue)
 
 DECLARE_STATIC_TYPED_ACCESSOR (Condition, ConditionField)
 
int TypeValue () const
 
int SpecialValue () const
 
int RnValue () const
 
 DECLARE_STATIC_ACCESSOR (RnValue)
 
int RdValue () const
 
 DECLARE_STATIC_ACCESSOR (RdValue)
 
int CoprocessorValue () const
 
int VnValue () const
 
int VmValue () const
 
int VdValue () const
 
int NValue () const
 
int MValue () const
 
int DValue () const
 
int RtValue () const
 
int PValue () const
 
int UValue () const
 
int Opc1Value () const
 
int Opc2Value () const
 
int Opc3Value () const
 
int SzValue () const
 
int VLValue () const
 
int VCValue () const
 
int VAValue () const
 
int VBValue () const
 
int VFPNRegValue (VFPRegPrecision pre)
 
int VFPMRegValue (VFPRegPrecision pre)
 
int VFPDRegValue (VFPRegPrecision pre)
 
int OpcodeValue () const
 
Opcode OpcodeField () const
 
int SValue () const
 
int RmValue () const
 
 DECLARE_STATIC_ACCESSOR (RmValue)
 
int ShiftValue () const
 
ShiftOp ShiftField () const
 
int RegShiftValue () const
 
int RsValue () const
 
int ShiftAmountValue () const
 
int RotateValue () const
 
 DECLARE_STATIC_ACCESSOR (RotateValue)
 
int Immed8Value () const
 
 DECLARE_STATIC_ACCESSOR (Immed8Value)
 
int Immed4Value () const
 
int ImmedMovwMovtValue () const
 
 DECLARE_STATIC_ACCESSOR (ImmedMovwMovtValue)
 
int PUValue () const
 
int PUField () const
 
int BValue () const
 
int WValue () const
 
int LValue () const
 
int Offset12Value () const
 
int RlistValue () const
 
int SignValue () const
 
int HValue () const
 
int ImmedHValue () const
 
int ImmedLValue () const
 
int LinkValue () const
 
int SImmed24Value () const
 
SoftwareInterruptCodes SvcValue () const
 
bool IsSpecialType0 () const
 
bool IsMiscType0 () const
 
bool IsNopType1 () const
 
bool IsStop () const
 
bool HasS () const
 
bool HasB () const
 
bool HasW () const
 
bool HasL () const
 
bool HasU () const
 
bool HasSign () const
 
bool HasH () const
 
bool HasLink () const
 
double DoubleImmedVmov () const
 
Instr InstructionBits () const
 
void SetInstructionBits (Instr new_instr)
 
int Bit (int pos) const
 
uint32_t Bits (int msb, int lsb) const
 
int32_t SignedBits (int msb, int lsb) const
 
Instr Mask (uint32_t mask) const
 
Instructionfollowing (int count=1)
 
Instructionpreceding (int count=1)
 
int ImmPCRel () const
 
uint64_t ImmLogical ()
 
float ImmFP32 ()
 
double ImmFP64 ()
 
LSDataSize SizeLSPair () const
 
bool IsCondBranchImm () const
 
bool IsUncondBranchImm () const
 
bool IsCompareBranch () const
 
bool IsTestBranch () const
 
bool IsImmBranch () const
 
bool IsLdrLiteral () const
 
bool IsLdrLiteralX () const
 
bool IsPCRelAddressing () const
 
bool IsAdr () const
 
bool IsLogicalImmediate () const
 
bool IsAddSubImmediate () const
 
bool IsAddSubShifted () const
 
bool IsAddSubExtended () const
 
bool IsLoadOrStore () const
 
bool IsLoad () const
 
bool IsStore () const
 
Reg31Mode RdMode () const
 
Reg31Mode RnMode () const
 
ImmBranchType BranchType () const
 
int ImmBranch () const
 
bool IsBranchAndLinkToRegister () const
 
bool IsMovz () const
 
bool IsMovk () const
 
bool IsMovn () const
 
bool IsNop (int n)
 
int64_t ImmPCOffset ()
 
InstructionImmPCOffsetTarget ()
 
bool IsTargetInImmPCOffsetRange (Instruction *target)
 
void SetImmPCOffsetTarget (Instruction *target)
 
void SetImmLLiteral (Instruction *source)
 
uintptr_t LiteralAddress ()
 
InstructionInstructionAtOffset (int64_t offset, CheckAlignment check=CHECK_ALIGNMENT)
 
ptrdiff_t DistanceTo (Instruction *target)
 
void SetPCRelImmTarget (Instruction *target)
 
void SetBranchImmTarget (Instruction *target)
 
Instr InstructionBits () const
 
void SetInstructionBits (Instr value)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
Type InstructionType () const
 
Opcode OpcodeValue () const
 
int RsValue () const
 
int RtValue () const
 
int RdValue () const
 
int SaValue () const
 
int FunctionValue () const
 
int FdValue () const
 
int FsValue () const
 
int FtValue () const
 
int FrValue () const
 
int FCccValue () const
 
int FBccValue () const
 
int FBtrueValue () const
 
Opcode OpcodeFieldRaw () const
 
int RsFieldRaw () const
 
int RsFieldRawNoAssert () const
 
int RtFieldRaw () const
 
int RdFieldRaw () const
 
int SaFieldRaw () const
 
int FunctionFieldRaw () const
 
int SecondaryValue () const
 
int32_t Imm16Value () const
 
int32_t Imm21Value () const
 
int32_t Imm26Value () const
 
bool IsForbiddenInBranchDelay () const
 
bool IsLinkingInstruction () const
 
bool IsTrap () const
 
Instr InstructionBits () const
 
void SetInstructionBits (Instr value)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
Type InstructionType () const
 
Opcode OpcodeValue () const
 
int RsValue () const
 
int RtValue () const
 
int RdValue () const
 
int SaValue () const
 
int FunctionValue () const
 
int FdValue () const
 
int FsValue () const
 
int FtValue () const
 
int FrValue () const
 
int FCccValue () const
 
int FBccValue () const
 
int FBtrueValue () const
 
Opcode OpcodeFieldRaw () const
 
int RsFieldRaw () const
 
int RsFieldRawNoAssert () const
 
int RtFieldRaw () const
 
int RdFieldRaw () const
 
int SaFieldRaw () const
 
int FunctionFieldRaw () const
 
int SecondaryValue () const
 
int32_t Imm16Value () const
 
int32_t Imm21Value () const
 
int32_t Imm26Value () const
 
bool IsForbiddenInBranchDelay () const
 
bool IsLinkingInstruction () const
 
bool IsTrap () const
 

Static Public Member Functions

static int Bit (Instr instr, int nr)
 
static int Bits (Instr instr, int hi, int lo)
 
static int BitField (Instr instr, int hi, int lo)
 
static InstructionAt (byte *pc)
 
static int ImmBranchRangeBitwidth (ImmBranchType branch_type)
 
static int32_t ImmBranchRange (ImmBranchType branch_type)
 
static bool IsValidImmPCOffset (ImmBranchType branch_type, int32_t offset)
 
template<typename T >
static InstructionCast (T src)
 
static bool IsValidPCRelOffset (int offset)
 
static InstructionAt (byte *pc)
 
static InstructionAt (byte *pc)
 

Static Public Attributes

static const int ImmPCRelRangeBitwidth = 21
 

Private Member Functions

int VFPGlueRegValue (VFPRegPrecision pre, int four_bit, int one_bit)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (Instruction)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (Instruction)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (Instruction)
 

Detailed Description

Definition at line 424 of file constants-arm.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kInstrSize 
kInstrSizeLog2 
kPCReadOffset 

Definition at line 426 of file constants-arm.h.

◆ anonymous enum

anonymous enum
Enumerator
kInstrSize 
kInstrSizeLog2 
kPCReadOffset 

Definition at line 731 of file constants-mips.h.

731  {
732  kInstrSize = 4,
733  kInstrSizeLog2 = 2,
734  // On MIPS PC cannot actually be directly accessed. We behave as if PC was
735  // always the value of the current instruction being executed.
736  kPCReadOffset = 0
737  };

◆ anonymous enum

anonymous enum
Enumerator
kInstrSize 
kInstrSizeLog2 
kPCReadOffset 

Definition at line 745 of file constants-mips64.h.

745  {
746  kInstrSize = 4,
747  kInstrSizeLog2 = 2,
748  // On MIPS PC cannot actually be directly accessed. We behave as if PC was
749  // always the value of the current instruction being executed.
750  kPCReadOffset = 0
751  };

◆ CheckAlignment

Enumerator
NO_CHECK 
CHECK_ALIGNMENT 

Definition at line 360 of file instructions-arm64.h.

◆ Type [1/2]

Enumerator
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 

Definition at line 760 of file constants-mips.h.

◆ Type [2/2]

Enumerator
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 

Definition at line 774 of file constants-mips64.h.

774  {
777  kJumpType,
778  kUnsupported = -1
779  };

Member Function Documentation

◆ At() [1/3]

static Instruction* v8::internal::Instruction::At ( byte pc)
inlinestatic

Definition at line 636 of file constants-arm.h.

636  {
637  return reinterpret_cast<Instruction*>(pc);
638  }
const Register pc

References v8::internal::pc.

Referenced by v8::internal::Assembler::target_address_at().

+ Here is the caller graph for this function:

◆ At() [2/3]

static Instruction* v8::internal::Instruction::At ( byte pc)
inlinestatic

Definition at line 914 of file constants-mips.h.

914  {
915  return reinterpret_cast<Instruction*>(pc);
916  }

References v8::internal::pc.

◆ At() [3/3]

static Instruction* v8::internal::Instruction::At ( byte pc)
inlinestatic

Definition at line 928 of file constants-mips64.h.

928  {
929  return reinterpret_cast<Instruction*>(pc);
930  }

References v8::internal::pc.

◆ Bit() [1/5]

static int v8::internal::Instruction::Bit ( Instr  instr,
int  nr 
)
inlinestatic

Definition at line 470 of file constants-arm.h.

470  {
471  return (instr >> nr) & 1;
472  }

◆ Bit() [2/5]

int v8::internal::Instruction::Bit ( int  nr) const
inline

Definition at line 453 of file constants-arm.h.

453  {
454  return (InstructionBits() >> nr) & 1;
455  }
Instr InstructionBits() const

References InstructionBits().

Referenced by BValue(), v8::internal::Decoder< V >::DecodeAddSubImmediate(), v8::internal::Decoder< V >::DecodeBitfieldExtract(), v8::internal::Decoder< V >::DecodeBranchSystemException(), v8::internal::Decoder< V >::DecodeDataProcessing(), v8::internal::Decoder< V >::DecodeFP(), v8::internal::Decoder< V >::DecodeLoadStore(), v8::internal::Decoder< V >::DecodeLogical(), v8::internal::Decoder< V >::DecodePCRelAddressing(), DValue(), HValue(), IsMiscType0(), IsSpecialType0(), IsStop(), LinkValue(), LValue(), MValue(), NValue(), Opc1Value(), PValue(), RegShiftValue(), SignValue(), SValue(), SzValue(), UValue(), VCValue(), VFPGlueRegValue(), VLValue(), and WValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Bit() [3/5]

int v8::internal::Instruction::Bit ( int  nr) const
inline

Definition at line 750 of file constants-mips.h.

750  {
751  return (InstructionBits() >> nr) & 1;
752  }

References InstructionBits().

+ Here is the call graph for this function:

◆ Bit() [4/5]

int v8::internal::Instruction::Bit ( int  nr) const
inline

Definition at line 764 of file constants-mips64.h.

764  {
765  return (InstructionBits() >> nr) & 1;
766  }

References InstructionBits().

+ Here is the call graph for this function:

◆ Bit() [5/5]

int v8::internal::Instruction::Bit ( int  pos) const
inline

Definition at line 107 of file instructions-arm64.h.

107  {
108  return (InstructionBits() >> pos) & 1;
109  }

References InstructionBits().

+ Here is the call graph for this function:

◆ BitField() [1/2]

static int v8::internal::Instruction::BitField ( Instr  instr,
int  hi,
int  lo 
)
inlinestatic

Definition at line 481 of file constants-arm.h.

481  {
482  return instr & (((2 << (hi - lo)) - 1) << lo);
483  }

References v8::internal::hi, and v8::internal::lo.

◆ BitField() [2/2]

int v8::internal::Instruction::BitField ( int  hi,
int  lo 
) const
inline

Definition at line 463 of file constants-arm.h.

463  {
464  return InstructionBits() & (((2 << (hi - lo)) - 1) << lo);
465  }

References v8::internal::hi, InstructionBits(), and v8::internal::lo.

Referenced by ConditionField(), OpcodeField(), PUField(), and ShiftField().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Bits() [1/5]

static int v8::internal::Instruction::Bits ( Instr  instr,
int  hi,
int  lo 
)
inlinestatic

Definition at line 475 of file constants-arm.h.

475  {
476  return (instr >> lo) & ((2 << (hi - lo)) - 1);
477  }

References v8::internal::hi, and v8::internal::lo.

◆ Bits() [2/5]

int v8::internal::Instruction::Bits ( int  hi,
int  lo 
) const
inline

Definition at line 458 of file constants-arm.h.

458  {
459  return (InstructionBits() >> lo) & ((2 << (hi - lo)) - 1);
460  }

References v8::internal::hi, InstructionBits(), and v8::internal::lo.

Referenced by ConditionValue(), CoprocessorValue(), v8::internal::Decoder< V >::Decode(), v8::internal::Decoder< V >::DecodeAddSubImmediate(), v8::internal::Decoder< V >::DecodeAdvSIMDDataProcessing(), v8::internal::Decoder< V >::DecodeAdvSIMDLoadStore(), v8::internal::Decoder< V >::DecodeBitfieldExtract(), v8::internal::Decoder< V >::DecodeBranchSystemException(), v8::internal::Decoder< V >::DecodeDataProcessing(), v8::internal::Decoder< V >::DecodeFP(), v8::internal::Decoder< V >::DecodeLoadStore(), v8::internal::Decoder< V >::DecodeLogical(), v8::internal::Decoder< V >::DecodePCRelAddressing(), FBccValue(), FBtrueValue(), FCccValue(), FdValue(), FrValue(), FsValue(), FtValue(), FunctionValue(), Imm16Value(), Imm21Value(), Imm26Value(), Immed4Value(), Immed8Value(), ImmedHValue(), ImmedLValue(), IsNopType1(), Offset12Value(), Opc1Value(), Opc2Value(), Opc3Value(), OpcodeValue(), PUValue(), RdValue(), RlistValue(), RmValue(), RnValue(), RotateValue(), RsValue(), RtValue(), SaValue(), ShiftAmountValue(), ShiftValue(), SpecialValue(), SvcValue(), TypeValue(), VAValue(), VBValue(), VdValue(), VFPGlueRegValue(), VmValue(), and VnValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Bits() [3/5]

int v8::internal::Instruction::Bits ( int  hi,
int  lo 
) const
inline

Definition at line 755 of file constants-mips.h.

755  {
756  return (InstructionBits() >> lo) & ((2 << (hi - lo)) - 1);
757  }

References v8::internal::hi, InstructionBits(), and v8::internal::lo.

+ Here is the call graph for this function:

◆ Bits() [4/5]

int v8::internal::Instruction::Bits ( int  hi,
int  lo 
) const
inline

Definition at line 769 of file constants-mips64.h.

769  {
770  return (InstructionBits() >> lo) & ((2 << (hi - lo)) - 1);
771  }

References v8::internal::hi, InstructionBits(), and v8::internal::lo.

+ Here is the call graph for this function:

◆ Bits() [5/5]

uint32_t v8::internal::Instruction::Bits ( int  msb,
int  lsb 
) const
inline

Definition at line 111 of file instructions-arm64.h.

111  {
112  return unsigned_bitextract_32(msb, lsb, InstructionBits());
113  }
uint32_t unsigned_bitextract_32(int msb, int lsb, uint32_t x)
Definition: utils.h:880

References InstructionBits(), and v8::internal::unsigned_bitextract_32().

+ Here is the call graph for this function:

◆ BranchType()

ImmBranchType v8::internal::Instruction::BranchType ( ) const
inline

Definition at line 261 of file instructions-arm64.h.

261  {
262  if (IsCondBranchImm()) {
263  return CondBranchType;
264  } else if (IsUncondBranchImm()) {
265  return UncondBranchType;
266  } else if (IsCompareBranch()) {
267  return CompareBranchType;
268  } else if (IsTestBranch()) {
269  return TestBranchType;
270  } else {
271  return UnknownBranchType;
272  }
273  }

References v8::internal::CompareBranchType, v8::internal::CondBranchType, IsCompareBranch(), IsCondBranchImm(), IsTestBranch(), IsUncondBranchImm(), v8::internal::TestBranchType, v8::internal::UncondBranchType, and v8::internal::UnknownBranchType.

Referenced by ImmBranch(), and IsImmBranch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BValue()

int v8::internal::Instruction::BValue ( ) const
inline

Definition at line 578 of file constants-arm.h.

578 { return Bit(22); }
int Bit(int nr) const

References Bit().

Referenced by HasB().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Cast()

template<typename T >
static Instruction* v8::internal::Instruction::Cast ( T  src)
inlinestatic

Definition at line 371 of file instructions-arm64.h.

371  {
372  return reinterpret_cast<Instruction*>(src);
373  }

Referenced by InstructionAtOffset(), and v8::internal::Assembler::pc().

+ Here is the caller graph for this function:

◆ ConditionField()

Condition v8::internal::Instruction::ConditionField ( ) const
inline

Definition at line 503 of file constants-arm.h.

503  {
504  return static_cast<Condition>(BitField(31, 28));
505  }
int BitField(int hi, int lo) const

References BitField().

+ Here is the call graph for this function:

◆ ConditionValue()

Condition v8::internal::Instruction::ConditionValue ( ) const
inline

Definition at line 500 of file constants-arm.h.

500  {
501  return static_cast<Condition>(Bits(31, 28));
502  }
int Bits(int hi, int lo) const

References Bits().

+ Here is the call graph for this function:

◆ CoprocessorValue()

int v8::internal::Instruction::CoprocessorValue ( ) const
inline

Definition at line 517 of file constants-arm.h.

517 { return Bits(11, 8); }

References Bits().

+ Here is the call graph for this function:

◆ DECLARE_STATIC_ACCESSOR() [1/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( Immed8Value  )

◆ DECLARE_STATIC_ACCESSOR() [2/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( ImmedMovwMovtValue  )

◆ DECLARE_STATIC_ACCESSOR() [3/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( RdValue  )

◆ DECLARE_STATIC_ACCESSOR() [4/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( RmValue  )

◆ DECLARE_STATIC_ACCESSOR() [5/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( RnValue  )

◆ DECLARE_STATIC_ACCESSOR() [6/6]

v8::internal::Instruction::DECLARE_STATIC_ACCESSOR ( RotateValue  )

◆ DECLARE_STATIC_TYPED_ACCESSOR() [1/2]

v8::internal::Instruction::DECLARE_STATIC_TYPED_ACCESSOR ( Condition  ,
ConditionField   
)

◆ DECLARE_STATIC_TYPED_ACCESSOR() [2/2]

v8::internal::Instruction::DECLARE_STATIC_TYPED_ACCESSOR ( Condition  ,
ConditionValue   
)

◆ DISALLOW_IMPLICIT_CONSTRUCTORS() [1/3]

v8::internal::Instruction::DISALLOW_IMPLICIT_CONSTRUCTORS ( Instruction  )
private

◆ DISALLOW_IMPLICIT_CONSTRUCTORS() [2/3]

v8::internal::Instruction::DISALLOW_IMPLICIT_CONSTRUCTORS ( Instruction  )
private

◆ DISALLOW_IMPLICIT_CONSTRUCTORS() [3/3]

v8::internal::Instruction::DISALLOW_IMPLICIT_CONSTRUCTORS ( Instruction  )
private

◆ DistanceTo()

ptrdiff_t v8::internal::Instruction::DistanceTo ( Instruction target)
inline

Definition at line 375 of file instructions-arm64.h.

375  {
376  return reinterpret_cast<Address>(target) - reinterpret_cast<Address>(this);
377  }
byte * Address
Definition: globals.h:101

◆ DoubleImmedVmov()

double v8::internal::Instruction::DoubleImmedVmov ( ) const

◆ DValue()

int v8::internal::Instruction::DValue ( ) const
inline

Definition at line 525 of file constants-arm.h.

525 { return Bit(22); }

References Bit().

+ Here is the call graph for this function:

◆ FBccValue() [1/2]

int v8::internal::Instruction::FBccValue ( ) const
inline

Definition at line 827 of file constants-mips.h.

827  {
828  return Bits(kFBccShift + kFBccBits - 1, kFBccShift);
829  }
const int kFBccBits
const int kFBccShift

References Bits(), v8::internal::kFBccBits, and v8::internal::kFBccShift.

+ Here is the call graph for this function:

◆ FBccValue() [2/2]

int v8::internal::Instruction::FBccValue ( ) const
inline

Definition at line 841 of file constants-mips64.h.

841  {
842  return Bits(kFBccShift + kFBccBits - 1, kFBccShift);
843  }

References Bits(), v8::internal::kFBccBits, and v8::internal::kFBccShift.

+ Here is the call graph for this function:

◆ FBtrueValue() [1/2]

int v8::internal::Instruction::FBtrueValue ( ) const
inline

Definition at line 832 of file constants-mips.h.

832  {
833  return Bits(kFBtrueShift + kFBtrueBits - 1, kFBtrueShift);
834  }
const int kFBtrueShift
const int kFBtrueBits

References Bits(), v8::internal::kFBtrueBits, and v8::internal::kFBtrueShift.

+ Here is the call graph for this function:

◆ FBtrueValue() [2/2]

int v8::internal::Instruction::FBtrueValue ( ) const
inline

Definition at line 846 of file constants-mips64.h.

846  {
847  return Bits(kFBtrueShift + kFBtrueBits - 1, kFBtrueShift);
848  }

References Bits(), v8::internal::kFBtrueBits, and v8::internal::kFBtrueShift.

+ Here is the call graph for this function:

◆ FCccValue() [1/2]

int v8::internal::Instruction::FCccValue ( ) const
inline

Definition at line 822 of file constants-mips.h.

822  {
823  return Bits(kFCccShift + kFCccBits - 1, kFCccShift);
824  }
const int kFCccBits
const int kFCccShift

References Bits(), v8::internal::kFCccBits, and v8::internal::kFCccShift.

+ Here is the call graph for this function:

◆ FCccValue() [2/2]

int v8::internal::Instruction::FCccValue ( ) const
inline

Definition at line 836 of file constants-mips64.h.

836  {
837  return Bits(kFCccShift + kFCccBits - 1, kFCccShift);
838  }

References Bits(), v8::internal::kFCccBits, and v8::internal::kFCccShift.

+ Here is the call graph for this function:

◆ FdValue() [1/2]

int v8::internal::Instruction::FdValue ( ) const
inline

Definition at line 805 of file constants-mips.h.

805  {
806  return Bits(kFdShift + kFdBits - 1, kFdShift);
807  }
const int kFdBits
const int kFdShift

References Bits(), v8::internal::kFdBits, and v8::internal::kFdShift.

+ Here is the call graph for this function:

◆ FdValue() [2/2]

int v8::internal::Instruction::FdValue ( ) const
inline

Definition at line 819 of file constants-mips64.h.

819  {
820  return Bits(kFdShift + kFdBits - 1, kFdShift);
821  }

References Bits(), v8::internal::kFdBits, and v8::internal::kFdShift.

+ Here is the call graph for this function:

◆ following()

Instruction* v8::internal::Instruction::following ( int  count = 1)
inline

Definition at line 124 of file instructions-arm64.h.

124  {
125  return InstructionAtOffset(count * static_cast<int>(kInstructionSize));
126  }
Instruction * InstructionAtOffset(int64_t offset, CheckAlignment check=CHECK_ALIGNMENT)
const unsigned kInstructionSize

References InstructionAtOffset(), and v8::internal::kInstructionSize.

Referenced by v8::internal::RecordWriteStub::GetMode(), and preceding().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FrValue() [1/2]

int v8::internal::Instruction::FrValue ( ) const
inline

Definition at line 817 of file constants-mips.h.

817  {
818  return Bits(kFrShift + kFrBits -1, kFrShift);
819  }
const int kFrBits
const int kFrShift

References Bits(), v8::internal::kFrBits, and v8::internal::kFrShift.

+ Here is the call graph for this function:

◆ FrValue() [2/2]

int v8::internal::Instruction::FrValue ( ) const
inline

Definition at line 831 of file constants-mips64.h.

831  {
832  return Bits(kFrShift + kFrBits -1, kFrShift);
833  }

References Bits(), v8::internal::kFrBits, and v8::internal::kFrShift.

+ Here is the call graph for this function:

◆ FsValue() [1/2]

int v8::internal::Instruction::FsValue ( ) const
inline

Definition at line 809 of file constants-mips.h.

809  {
810  return Bits(kFsShift + kFsBits - 1, kFsShift);
811  }
const int kFsShift
const int kFsBits

References Bits(), v8::internal::kFsBits, and v8::internal::kFsShift.

+ Here is the call graph for this function:

◆ FsValue() [2/2]

int v8::internal::Instruction::FsValue ( ) const
inline

Definition at line 823 of file constants-mips64.h.

823  {
824  return Bits(kFsShift + kFsBits - 1, kFsShift);
825  }

References Bits(), v8::internal::kFsBits, and v8::internal::kFsShift.

+ Here is the call graph for this function:

◆ FtValue() [1/2]

int v8::internal::Instruction::FtValue ( ) const
inline

Definition at line 813 of file constants-mips.h.

813  {
814  return Bits(kFtShift + kFtBits - 1, kFtShift);
815  }
const int kFtBits
const int kFtShift

References Bits(), v8::internal::kFtBits, and v8::internal::kFtShift.

+ Here is the call graph for this function:

◆ FtValue() [2/2]

int v8::internal::Instruction::FtValue ( ) const
inline

Definition at line 827 of file constants-mips64.h.

827  {
828  return Bits(kFtShift + kFtBits - 1, kFtShift);
829  }

References Bits(), v8::internal::kFtBits, and v8::internal::kFtShift.

+ Here is the call graph for this function:

◆ FunctionFieldRaw() [1/2]

int v8::internal::Instruction::FunctionFieldRaw ( ) const
inline

Definition at line 868 of file constants-mips.h.

868  {
870  }
const int kFunctionFieldMask

References InstructionBits(), and v8::internal::kFunctionFieldMask.

+ Here is the call graph for this function:

◆ FunctionFieldRaw() [2/2]

int v8::internal::Instruction::FunctionFieldRaw ( ) const
inline

Definition at line 882 of file constants-mips64.h.

882  {
884  }

References InstructionBits(), and v8::internal::kFunctionFieldMask.

+ Here is the call graph for this function:

◆ FunctionValue() [1/2]

int v8::internal::Instruction::FunctionValue ( ) const
inline

Definition at line 799 of file constants-mips.h.

799  {
803  }
Type InstructionType() const
#define DCHECK(condition)
Definition: logging.h:205
const int kFunctionShift
const int kFunctionBits

References Bits(), DCHECK, InstructionType(), v8::internal::kFunctionBits, v8::internal::kFunctionShift, kImmediateType, and kRegisterType.

Referenced by SecondaryValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FunctionValue() [2/2]

int v8::internal::Instruction::FunctionValue ( ) const
inline

Definition at line 813 of file constants-mips64.h.

813  {
817  }

References Bits(), DCHECK, InstructionType(), v8::internal::kFunctionBits, v8::internal::kFunctionShift, kImmediateType, and kRegisterType.

+ Here is the call graph for this function:

◆ HasB()

bool v8::internal::Instruction::HasB ( ) const
inline

Definition at line 621 of file constants-arm.h.

621 { return BValue() == 1; }

References BValue().

+ Here is the call graph for this function:

◆ HasH()

bool v8::internal::Instruction::HasH ( ) const
inline

Definition at line 626 of file constants-arm.h.

626 { return HValue() == 1; }

References HValue().

+ Here is the call graph for this function:

◆ HasL()

bool v8::internal::Instruction::HasL ( ) const
inline

Definition at line 623 of file constants-arm.h.

623 { return LValue() == 1; }

References LValue().

+ Here is the call graph for this function:

◆ HasLink()

bool v8::internal::Instruction::HasLink ( ) const
inline

Definition at line 627 of file constants-arm.h.

627 { return LinkValue() == 1; }

References LinkValue().

+ Here is the call graph for this function:

◆ HasS()

bool v8::internal::Instruction::HasS ( ) const
inline

Definition at line 620 of file constants-arm.h.

620 { return SValue() == 1; }

References SValue().

+ Here is the call graph for this function:

◆ HasSign()

bool v8::internal::Instruction::HasSign ( ) const
inline

Definition at line 625 of file constants-arm.h.

625 { return SignValue() == 1; }

References SignValue().

+ Here is the call graph for this function:

◆ HasU()

bool v8::internal::Instruction::HasU ( ) const
inline

Definition at line 624 of file constants-arm.h.

624 { return UValue() == 1; }

References UValue().

+ Here is the call graph for this function:

◆ HasW()

bool v8::internal::Instruction::HasW ( ) const
inline

Definition at line 622 of file constants-arm.h.

622 { return WValue() == 1; }

References WValue().

+ Here is the call graph for this function:

◆ HValue()

int v8::internal::Instruction::HValue ( ) const
inline

Definition at line 588 of file constants-arm.h.

588 { return Bit(5); }

References Bit().

Referenced by HasH().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Imm16Value() [1/2]

int32_t v8::internal::Instruction::Imm16Value ( ) const
inline

Definition at line 888 of file constants-mips.h.

888  {
890  return Bits(kImm16Shift + kImm16Bits - 1, kImm16Shift);
891  }
const int kImm16Bits
const int kImm16Shift

References Bits(), DCHECK, InstructionType(), v8::internal::kImm16Bits, v8::internal::kImm16Shift, and kImmediateType.

+ Here is the call graph for this function:

◆ Imm16Value() [2/2]

int32_t v8::internal::Instruction::Imm16Value ( ) const
inline

Definition at line 902 of file constants-mips64.h.

902  {
904  return Bits(kImm16Shift + kImm16Bits - 1, kImm16Shift);
905  }

References Bits(), DCHECK, InstructionType(), v8::internal::kImm16Bits, v8::internal::kImm16Shift, and kImmediateType.

+ Here is the call graph for this function:

◆ Imm21Value() [1/2]

int32_t v8::internal::Instruction::Imm21Value ( ) const
inline

Definition at line 893 of file constants-mips.h.

893  {
895  return Bits(kImm21Shift + kImm21Bits - 1, kImm21Shift);
896  }
const int kImm21Bits
const int kImm21Shift

References Bits(), DCHECK, InstructionType(), v8::internal::kImm21Bits, v8::internal::kImm21Shift, and kImmediateType.

+ Here is the call graph for this function:

◆ Imm21Value() [2/2]

int32_t v8::internal::Instruction::Imm21Value ( ) const
inline

Definition at line 907 of file constants-mips64.h.

907  {
909  return Bits(kImm21Shift + kImm21Bits - 1, kImm21Shift);
910  }

References Bits(), DCHECK, InstructionType(), v8::internal::kImm21Bits, v8::internal::kImm21Shift, and kImmediateType.

+ Here is the call graph for this function:

◆ Imm26Value() [1/2]

int32_t v8::internal::Instruction::Imm26Value ( ) const
inline

Definition at line 898 of file constants-mips.h.

898  {
900  return Bits(kImm26Shift + kImm26Bits - 1, kImm26Shift);
901  }
const int kImm26Shift
const int kImm26Bits

References Bits(), DCHECK, InstructionType(), v8::internal::kImm26Bits, v8::internal::kImm26Shift, and kJumpType.

+ Here is the call graph for this function:

◆ Imm26Value() [2/2]

int32_t v8::internal::Instruction::Imm26Value ( ) const
inline

Definition at line 912 of file constants-mips64.h.

912  {
914  return Bits(kImm26Shift + kImm26Bits - 1, kImm26Shift);
915  }

References Bits(), DCHECK, InstructionType(), v8::internal::kImm26Bits, v8::internal::kImm26Shift, and kJumpType.

+ Here is the call graph for this function:

◆ ImmBranch()

int v8::internal::Instruction::ImmBranch ( ) const
inline

Definition at line 298 of file instructions-arm64.h.

298  {
299  switch (BranchType()) {
300  case CondBranchType: return ImmCondBranch();
301  case UncondBranchType: return ImmUncondBranch();
302  case CompareBranchType: return ImmCmpBranch();
303  case TestBranchType: return ImmTestBranch();
304  default: UNREACHABLE();
305  }
306  return 0;
307  }
ImmBranchType BranchType() const
#define UNREACHABLE()
Definition: logging.h:30

References BranchType(), v8::internal::CompareBranchType, v8::internal::CondBranchType, v8::internal::TestBranchType, v8::internal::UncondBranchType, and UNREACHABLE.

+ Here is the call graph for this function:

◆ ImmBranchRange()

static int32_t v8::internal::Instruction::ImmBranchRange ( ImmBranchType  branch_type)
inlinestatic

Definition at line 292 of file instructions-arm64.h.

292  {
293  return
294  (1 << (ImmBranchRangeBitwidth(branch_type) + kInstructionSizeLog2)) / 2 -
296  }
static int ImmBranchRangeBitwidth(ImmBranchType branch_type)
const unsigned kInstructionSizeLog2

References ImmBranchRangeBitwidth(), v8::internal::kInstructionSize, and v8::internal::kInstructionSizeLog2.

+ Here is the call graph for this function:

◆ ImmBranchRangeBitwidth()

static int v8::internal::Instruction::ImmBranchRangeBitwidth ( ImmBranchType  branch_type)
inlinestatic

Definition at line 275 of file instructions-arm64.h.

275  {
276  switch (branch_type) {
277  case UncondBranchType:
278  return ImmUncondBranch_width;
279  case CondBranchType:
280  return ImmCondBranch_width;
281  case CompareBranchType:
282  return ImmCmpBranch_width;
283  case TestBranchType:
284  return ImmTestBranch_width;
285  default:
286  UNREACHABLE();
287  return 0;
288  }
289  }

References v8::internal::CompareBranchType, v8::internal::CondBranchType, v8::internal::TestBranchType, v8::internal::UncondBranchType, and UNREACHABLE.

Referenced by ImmBranchRange().

+ Here is the caller graph for this function:

◆ Immed4Value()

int v8::internal::Instruction::Immed4Value ( ) const
inline

Definition at line 570 of file constants-arm.h.

570 { return Bits(19, 16); }

References Bits().

Referenced by ImmedMovwMovtValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Immed8Value()

int v8::internal::Instruction::Immed8Value ( ) const
inline

Definition at line 568 of file constants-arm.h.

568 { return Bits(7, 0); }

References Bits().

+ Here is the call graph for this function:

◆ ImmedHValue()

int v8::internal::Instruction::ImmedHValue ( ) const
inline

Definition at line 589 of file constants-arm.h.

589 { return Bits(11, 8); }

References Bits().

+ Here is the call graph for this function:

◆ ImmedLValue()

int v8::internal::Instruction::ImmedLValue ( ) const
inline

Definition at line 590 of file constants-arm.h.

590 { return Bits(3, 0); }

References Bits().

+ Here is the call graph for this function:

◆ ImmedMovwMovtValue()

int v8::internal::Instruction::ImmedMovwMovtValue ( ) const
inline

Definition at line 571 of file constants-arm.h.

571  {
572  return Immed4Value() << 12 | Offset12Value(); }

References Immed4Value(), and Offset12Value().

Referenced by v8::internal::Assembler::target_address_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImmFP32()

float v8::internal::Instruction::ImmFP32 ( )

◆ ImmFP64()

double v8::internal::Instruction::ImmFP64 ( )

◆ ImmLogical()

uint64_t v8::internal::Instruction::ImmLogical ( )

◆ ImmPCOffset()

int64_t v8::internal::Instruction::ImmPCOffset ( )

Referenced by v8::internal::RecordWriteStub::Patch().

+ Here is the caller graph for this function:

◆ ImmPCOffsetTarget()

Instruction* v8::internal::Instruction::ImmPCOffsetTarget ( )

Referenced by v8::internal::Assembler::target_pointer_address_at().

+ Here is the caller graph for this function:

◆ ImmPCRel()

int v8::internal::Instruction::ImmPCRel ( ) const
inline

Definition at line 139 of file instructions-arm64.h.

139  {
141  int const offset = ((ImmPCRelHi() << ImmPCRelLo_width) | ImmPCRelLo());
142  int const width = ImmPCRelLo_width + ImmPCRelHi_width;
143  return signed_bitextract_32(width - 1, 0, offset);
144  }
int32_t signed_bitextract_32(int msb, int lsb, int32_t x)
Definition: utils.h:888

References DCHECK, IsPCRelAddressing(), and v8::internal::signed_bitextract_32().

+ Here is the call graph for this function:

◆ InstructionAtOffset()

Instruction* v8::internal::Instruction::InstructionAtOffset ( int64_t  offset,
CheckAlignment  check = CHECK_ALIGNMENT 
)
inline

Definition at line 362 of file instructions-arm64.h.

364  {
365  Address addr = reinterpret_cast<Address>(this) + offset;
366  // The FUZZ_disasm test relies on no check being done.
367  DCHECK(check == NO_CHECK || IsAddressAligned(addr, kInstructionSize));
368  return Cast(addr);
369  }
static Instruction * Cast(T src)
bool IsAddressAligned(Address addr, intptr_t alignment, int offset=0)
Definition: utils.h:129

References Cast(), DCHECK, v8::internal::IsAddressAligned(), v8::internal::kInstructionSize, and NO_CHECK.

Referenced by following().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InstructionBits() [1/4]

Instr v8::internal::Instruction::InstructionBits ( ) const
inline

Definition at line 443 of file constants-arm.h.

443  {
444  return *reinterpret_cast<const Instr*>(this);
445  }

Referenced by Bit(), BitField(), Bits(), FunctionFieldRaw(), Mask(), OpcodeFieldRaw(), RdFieldRaw(), RsFieldRaw(), RsFieldRawNoAssert(), RtFieldRaw(), SaFieldRaw(), and SImmed24Value().

+ Here is the caller graph for this function:

◆ InstructionBits() [2/4]

Instr v8::internal::Instruction::InstructionBits ( ) const
inline

Definition at line 99 of file instructions-arm64.h.

99  {
100  return *reinterpret_cast<const Instr*>(this);
101  }

◆ InstructionBits() [3/4]

Instr v8::internal::Instruction::InstructionBits ( ) const
inline

Definition at line 740 of file constants-mips.h.

740  {
741  return *reinterpret_cast<const Instr*>(this);
742  }

◆ InstructionBits() [4/4]

Instr v8::internal::Instruction::InstructionBits ( ) const
inline

Definition at line 754 of file constants-mips64.h.

754  {
755  return *reinterpret_cast<const Instr*>(this);
756  }

◆ InstructionType() [1/2]

Type v8::internal::Instruction::InstructionType ( ) const

Referenced by FunctionValue(), Imm16Value(), Imm21Value(), Imm26Value(), RdFieldRaw(), RdValue(), RsFieldRaw(), RsValue(), RtFieldRaw(), RtValue(), SaFieldRaw(), and SaValue().

+ Here is the caller graph for this function:

◆ InstructionType() [2/2]

Type v8::internal::Instruction::InstructionType ( ) const

◆ IsAddSubExtended()

bool v8::internal::Instruction::IsAddSubExtended ( ) const
inline

Definition at line 204 of file instructions-arm64.h.

204  {
206  }
Instr Mask(uint32_t mask) const

References v8::internal::AddSubExtendedFixed, v8::internal::AddSubExtendedFMask, and Mask().

Referenced by RdMode(), and RnMode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAddSubImmediate()

bool v8::internal::Instruction::IsAddSubImmediate ( ) const
inline

Definition at line 196 of file instructions-arm64.h.

196  {
198  }

References v8::internal::AddSubImmediateFixed, v8::internal::AddSubImmediateFMask, and Mask().

Referenced by RdMode(), and RnMode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsAddSubShifted()

bool v8::internal::Instruction::IsAddSubShifted ( ) const
inline

Definition at line 200 of file instructions-arm64.h.

200  {
202  }

References v8::internal::AddSubShiftedFixed, v8::internal::AddSubShiftedFMask, and Mask().

+ Here is the call graph for this function:

◆ IsAdr()

bool v8::internal::Instruction::IsAdr ( ) const
inline

Definition at line 188 of file instructions-arm64.h.

188  {
189  return Mask(PCRelAddressingMask) == ADR;
190  }

References v8::internal::ADR, Mask(), and v8::internal::PCRelAddressingMask.

+ Here is the call graph for this function:

◆ IsBranchAndLinkToRegister()

bool v8::internal::Instruction::IsBranchAndLinkToRegister ( ) const
inline

Definition at line 309 of file instructions-arm64.h.

309  {
311  }
@ UnconditionalBranchToRegisterMask

References v8::internal::BLR, Mask(), and v8::internal::UnconditionalBranchToRegisterMask.

+ Here is the call graph for this function:

◆ IsCompareBranch()

bool v8::internal::Instruction::IsCompareBranch ( ) const
inline

Definition at line 164 of file instructions-arm64.h.

164  {
166  }

References v8::internal::CompareBranchFixed, v8::internal::CompareBranchFMask, and Mask().

Referenced by BranchType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsCondBranchImm()

bool v8::internal::Instruction::IsCondBranchImm ( ) const
inline

Definition at line 156 of file instructions-arm64.h.

156  {
158  }

References v8::internal::ConditionalBranchFixed, v8::internal::ConditionalBranchFMask, and Mask().

Referenced by BranchType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsForbiddenInBranchDelay() [1/2]

bool v8::internal::Instruction::IsForbiddenInBranchDelay ( ) const

◆ IsForbiddenInBranchDelay() [2/2]

bool v8::internal::Instruction::IsForbiddenInBranchDelay ( ) const

◆ IsImmBranch()

bool v8::internal::Instruction::IsImmBranch ( ) const
inline

Definition at line 172 of file instructions-arm64.h.

172  {
173  return BranchType() != UnknownBranchType;
174  }

References BranchType(), and v8::internal::UnknownBranchType.

+ Here is the call graph for this function:

◆ IsLdrLiteral()

bool v8::internal::Instruction::IsLdrLiteral ( ) const
inline

Definition at line 176 of file instructions-arm64.h.

176  {
178  }

References v8::internal::LoadLiteralFixed, v8::internal::LoadLiteralFMask, and Mask().

+ Here is the call graph for this function:

◆ IsLdrLiteralX()

bool v8::internal::Instruction::IsLdrLiteralX ( ) const
inline

Definition at line 180 of file instructions-arm64.h.

180  {
181  return Mask(LoadLiteralMask) == LDR_x_lit;
182  }

References v8::internal::LDR_x_lit, v8::internal::LoadLiteralMask, and Mask().

Referenced by v8::internal::Assembler::target_pointer_address_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsLinkingInstruction() [1/2]

bool v8::internal::Instruction::IsLinkingInstruction ( ) const

◆ IsLinkingInstruction() [2/2]

bool v8::internal::Instruction::IsLinkingInstruction ( ) const

◆ IsLoad()

bool v8::internal::Instruction::IsLoad ( ) const

◆ IsLoadOrStore()

bool v8::internal::Instruction::IsLoadOrStore ( ) const
inline

Definition at line 209 of file instructions-arm64.h.

209  {
211  }

References v8::internal::LoadStoreAnyFixed, v8::internal::LoadStoreAnyFMask, and Mask().

Referenced by RnMode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsLogicalImmediate()

bool v8::internal::Instruction::IsLogicalImmediate ( ) const
inline

Definition at line 192 of file instructions-arm64.h.

192  {
194  }

References v8::internal::LogicalImmediateFixed, v8::internal::LogicalImmediateFMask, and Mask().

Referenced by RdMode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsMiscType0()

bool v8::internal::Instruction::IsMiscType0 ( ) const
inline

Definition at line 606 of file constants-arm.h.

606  { return (Bit(24) == 1)
607  && (Bit(23) == 0)
608  && (Bit(20) == 0)
609  && ((Bit(7) == 0)); }

References Bit().

+ Here is the call graph for this function:

◆ IsMovk()

bool v8::internal::Instruction::IsMovk ( ) const
inline

Definition at line 318 of file instructions-arm64.h.

318  {
319  return (Mask(MoveWideImmediateMask) == MOVK_x) ||
321  }

References Mask(), v8::internal::MoveWideImmediateMask, v8::internal::MOVK_w, and v8::internal::MOVK_x.

+ Here is the call graph for this function:

◆ IsMovn()

bool v8::internal::Instruction::IsMovn ( ) const
inline

Definition at line 323 of file instructions-arm64.h.

323  {
324  return (Mask(MoveWideImmediateMask) == MOVN_x) ||
326  }

References Mask(), v8::internal::MoveWideImmediateMask, v8::internal::MOVN_w, and v8::internal::MOVN_x.

+ Here is the call graph for this function:

◆ IsMovz()

bool v8::internal::Instruction::IsMovz ( ) const
inline

Definition at line 313 of file instructions-arm64.h.

313  {
314  return (Mask(MoveWideImmediateMask) == MOVZ_x) ||
316  }

References Mask(), v8::internal::MoveWideImmediateMask, v8::internal::MOVZ_w, and v8::internal::MOVZ_x.

+ Here is the call graph for this function:

◆ IsNop()

bool v8::internal::Instruction::IsNop ( int  n)
inline

Definition at line 328 of file instructions-arm64.h.

328  {
329  // A marking nop is an instruction
330  // mov r<n>, r<n>
331  // which is encoded as
332  // orr r<n>, xzr, r<n>
333  return (Mask(LogicalShiftedMask) == ORR_x) &&
334  (Rd() == Rm()) &&
335  (Rd() == n);
336  }

References v8::internal::LogicalShiftedMask, Mask(), and v8::internal::ORR_x.

+ Here is the call graph for this function:

◆ IsNopType1()

bool v8::internal::Instruction::IsNopType1 ( ) const
inline

Definition at line 612 of file constants-arm.h.

612 { return Bits(24, 0) == 0x0120F000; }

References Bits().

+ Here is the call graph for this function:

◆ IsPCRelAddressing()

bool v8::internal::Instruction::IsPCRelAddressing ( ) const
inline

Definition at line 184 of file instructions-arm64.h.

184  {
186  }

References Mask(), v8::internal::PCRelAddressingFixed, and v8::internal::PCRelAddressingFMask.

Referenced by v8::internal::RecordWriteStub::GetMode(), ImmPCRel(), and v8::internal::RecordWriteStub::Patch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsSpecialType0()

bool v8::internal::Instruction::IsSpecialType0 ( ) const
inline

Definition at line 603 of file constants-arm.h.

603 { return (Bit(7) == 1) && (Bit(4) == 1); }

References Bit().

+ Here is the call graph for this function:

◆ IsStop()

bool v8::internal::Instruction::IsStop ( ) const
inline

Definition at line 615 of file constants-arm.h.

615  {
616  return (TypeValue() == 7) && (Bit(24) == 1) && (SvcValue() >= kStopCode);
617  }
SoftwareInterruptCodes SvcValue() const

References Bit(), v8::internal::kStopCode, SvcValue(), and TypeValue().

+ Here is the call graph for this function:

◆ IsStore()

bool v8::internal::Instruction::IsStore ( ) const

◆ IsTargetInImmPCOffsetRange()

bool v8::internal::Instruction::IsTargetInImmPCOffsetRange ( Instruction target)

◆ IsTestBranch()

bool v8::internal::Instruction::IsTestBranch ( ) const
inline

Definition at line 168 of file instructions-arm64.h.

168  {
170  }

References Mask(), v8::internal::TestBranchFixed, and v8::internal::TestBranchFMask.

Referenced by BranchType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsTrap() [1/2]

bool v8::internal::Instruction::IsTrap ( ) const

◆ IsTrap() [2/2]

bool v8::internal::Instruction::IsTrap ( ) const

◆ IsUncondBranchImm()

bool v8::internal::Instruction::IsUncondBranchImm ( ) const
inline

Definition at line 160 of file instructions-arm64.h.

160  {
162  }

References Mask(), v8::internal::UnconditionalBranchFixed, and v8::internal::UnconditionalBranchFMask.

Referenced by BranchType(), v8::internal::RecordWriteStub::GetMode(), and v8::internal::RecordWriteStub::Patch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsValidImmPCOffset()

static bool v8::internal::Instruction::IsValidImmPCOffset ( ImmBranchType  branch_type,
int32_t  offset 
)
static

◆ IsValidPCRelOffset()

static bool v8::internal::Instruction::IsValidPCRelOffset ( int  offset)
inlinestatic

Definition at line 381 of file instructions-arm64.h.

381  {
382  return is_int21(offset);
383  }

◆ LinkValue()

int v8::internal::Instruction::LinkValue ( ) const
inline

Definition at line 593 of file constants-arm.h.

593 { return Bit(24); }

References Bit().

Referenced by HasLink().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LiteralAddress()

uintptr_t v8::internal::Instruction::LiteralAddress ( )
inline

Definition at line 355 of file instructions-arm64.h.

355  {
356  int offset = ImmLLiteral() << kLoadLiteralScaleLog2;
357  return reinterpret_cast<uintptr_t>(this) + offset;
358  }
const unsigned kLoadLiteralScaleLog2

References v8::internal::kLoadLiteralScaleLog2.

◆ LValue()

int v8::internal::Instruction::LValue ( ) const
inline

Definition at line 580 of file constants-arm.h.

580 { return Bit(20); }

References Bit().

Referenced by HasL().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Mask()

Instr v8::internal::Instruction::Mask ( uint32_t  mask) const
inline

◆ MValue()

int v8::internal::Instruction::MValue ( ) const
inline

Definition at line 524 of file constants-arm.h.

524 { return Bit(5); }

References Bit().

+ Here is the call graph for this function:

◆ NValue()

int v8::internal::Instruction::NValue ( ) const
inline

Definition at line 523 of file constants-arm.h.

523 { return Bit(7); }

References Bit().

+ Here is the call graph for this function:

◆ Offset12Value()

int v8::internal::Instruction::Offset12Value ( ) const
inline

Definition at line 583 of file constants-arm.h.

583 { return Bits(11, 0); }

References Bits().

Referenced by ImmedMovwMovtValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Opc1Value()

int v8::internal::Instruction::Opc1Value ( ) const
inline

Definition at line 529 of file constants-arm.h.

529 { return (Bit(23) << 2) | Bits(21, 20); }

References Bit(), and Bits().

+ Here is the call graph for this function:

◆ Opc2Value()

int v8::internal::Instruction::Opc2Value ( ) const
inline

Definition at line 530 of file constants-arm.h.

530 { return Bits(19, 16); }

References Bits().

+ Here is the call graph for this function:

◆ Opc3Value()

int v8::internal::Instruction::Opc3Value ( ) const
inline

Definition at line 531 of file constants-arm.h.

531 { return Bits(7, 6); }

References Bits().

+ Here is the call graph for this function:

◆ OpcodeField()

Opcode v8::internal::Instruction::OpcodeField ( ) const
inline

Definition at line 551 of file constants-arm.h.

551  {
552  return static_cast<Opcode>(BitField(24, 21));
553  }

References BitField().

+ Here is the call graph for this function:

◆ OpcodeFieldRaw() [1/2]

Opcode v8::internal::Instruction::OpcodeFieldRaw ( ) const
inline

Definition at line 837 of file constants-mips.h.

837  {
838  return static_cast<Opcode>(InstructionBits() & kOpcodeMask);
839  }
const int kOpcodeMask

References InstructionBits(), and v8::internal::kOpcodeMask.

Referenced by SecondaryValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OpcodeFieldRaw() [2/2]

Opcode v8::internal::Instruction::OpcodeFieldRaw ( ) const
inline

Definition at line 851 of file constants-mips64.h.

851  {
852  return static_cast<Opcode>(InstructionBits() & kOpcodeMask);
853  }

References InstructionBits(), and v8::internal::kOpcodeMask.

+ Here is the call graph for this function:

◆ OpcodeValue() [1/3]

int v8::internal::Instruction::OpcodeValue ( ) const
inline

Definition at line 548 of file constants-arm.h.

548  {
549  return static_cast<Opcode>(Bits(24, 21));
550  }

References Bits().

+ Here is the call graph for this function:

◆ OpcodeValue() [2/3]

Opcode v8::internal::Instruction::OpcodeValue ( ) const
inline

Definition at line 772 of file constants-mips.h.

772  {
773  return static_cast<Opcode>(
775  }
const int kOpcodeBits
const int kOpcodeShift

References Bits(), v8::internal::kOpcodeBits, and v8::internal::kOpcodeShift.

+ Here is the call graph for this function:

◆ OpcodeValue() [3/3]

Opcode v8::internal::Instruction::OpcodeValue ( ) const
inline

Definition at line 786 of file constants-mips64.h.

786  {
787  return static_cast<Opcode>(
789  }

References Bits(), v8::internal::kOpcodeBits, and v8::internal::kOpcodeShift.

+ Here is the call graph for this function:

◆ preceding()

Instruction* v8::internal::Instruction::preceding ( int  count = 1)
inline

Definition at line 128 of file instructions-arm64.h.

128  {
129  return following(-count);
130  }
Instruction * following(int count=1)

References following().

+ Here is the call graph for this function:

◆ PUField()

int v8::internal::Instruction::PUField ( ) const
inline

Definition at line 577 of file constants-arm.h.

577 { return BitField(24, 23); }

References BitField().

+ Here is the call graph for this function:

◆ PUValue()

int v8::internal::Instruction::PUValue ( ) const
inline

Definition at line 576 of file constants-arm.h.

576 { return Bits(24, 23); }

References Bits().

+ Here is the call graph for this function:

◆ PValue()

int v8::internal::Instruction::PValue ( ) const
inline

Definition at line 527 of file constants-arm.h.

527 { return Bit(24); }

References Bit().

+ Here is the call graph for this function:

◆ RdFieldRaw() [1/2]

int v8::internal::Instruction::RdFieldRaw ( ) const
inline

Definition at line 858 of file constants-mips.h.

858  {
860  return InstructionBits() & kRdFieldMask;
861  }
const int kRdFieldMask

References DCHECK, InstructionBits(), InstructionType(), v8::internal::kRdFieldMask, and kRegisterType.

+ Here is the call graph for this function:

◆ RdFieldRaw() [2/2]

int v8::internal::Instruction::RdFieldRaw ( ) const
inline

Definition at line 872 of file constants-mips64.h.

872  {
874  return InstructionBits() & kRdFieldMask;
875  }

References DCHECK, InstructionBits(), InstructionType(), v8::internal::kRdFieldMask, and kRegisterType.

+ Here is the call graph for this function:

◆ RdMode()

Reg31Mode v8::internal::Instruction::RdMode ( ) const
inline

Definition at line 220 of file instructions-arm64.h.

220  {
221  // The following instructions use csp or wsp as Rd:
222  // Add/sub (immediate) when not setting the flags.
223  // Add/sub (extended) when not setting the flags.
224  // Logical (immediate) when not setting the flags.
225  // Otherwise, r31 is the zero register.
226  if (IsAddSubImmediate() || IsAddSubExtended()) {
227  if (Mask(AddSubSetFlagsBit)) {
228  return Reg31IsZeroRegister;
229  } else {
230  return Reg31IsStackPointer;
231  }
232  }
233  if (IsLogicalImmediate()) {
234  // Of the logical (immediate) instructions, only ANDS (and its aliases)
235  // can set the flags. The others can all write into csp.
236  // Note that some logical operations are not available to
237  // immediate-operand instructions, so we have to combine two masks here.
239  return Reg31IsZeroRegister;
240  } else {
241  return Reg31IsStackPointer;
242  }
243  }
244  return Reg31IsZeroRegister;
245  }

References v8::internal::AddSubSetFlagsBit, v8::internal::ANDS, IsAddSubExtended(), IsAddSubImmediate(), IsLogicalImmediate(), v8::internal::LogicalImmediateMask, v8::internal::LogicalOpMask, Mask(), v8::internal::Reg31IsStackPointer, and v8::internal::Reg31IsZeroRegister.

+ Here is the call graph for this function:

◆ RdValue() [1/3]

int v8::internal::Instruction::RdValue ( ) const
inline

Definition at line 514 of file constants-arm.h.

514 { return Bits(15, 12); }

References Bits().

+ Here is the call graph for this function:

◆ RdValue() [2/3]

int v8::internal::Instruction::RdValue ( ) const
inline

Definition at line 789 of file constants-mips.h.

789  {
791  return Bits(kRdShift + kRdBits - 1, kRdShift);
792  }
const int kRdShift
const int kRdBits

References Bits(), DCHECK, InstructionType(), v8::internal::kRdBits, v8::internal::kRdShift, and kRegisterType.

+ Here is the call graph for this function:

◆ RdValue() [3/3]

int v8::internal::Instruction::RdValue ( ) const
inline

Definition at line 803 of file constants-mips64.h.

803  {
805  return Bits(kRdShift + kRdBits - 1, kRdShift);
806  }

References Bits(), DCHECK, InstructionType(), v8::internal::kRdBits, v8::internal::kRdShift, and kRegisterType.

+ Here is the call graph for this function:

◆ RegShiftValue()

int v8::internal::Instruction::RegShiftValue ( ) const
inline

Definition at line 562 of file constants-arm.h.

562 { return Bit(4); }

References Bit().

+ Here is the call graph for this function:

◆ RlistValue()

int v8::internal::Instruction::RlistValue ( ) const
inline

Definition at line 585 of file constants-arm.h.

585 { return Bits(15, 0); }

References Bits().

+ Here is the call graph for this function:

◆ RmValue()

int v8::internal::Instruction::RmValue ( ) const
inline

Definition at line 556 of file constants-arm.h.

556 { return Bits(3, 0); }

References Bits().

+ Here is the call graph for this function:

◆ RnMode()

Reg31Mode v8::internal::Instruction::RnMode ( ) const
inline

Definition at line 249 of file instructions-arm64.h.

249  {
250  // The following instructions use csp or wsp as Rn:
251  // All loads and stores.
252  // Add/sub (immediate).
253  // Add/sub (extended).
254  // Otherwise, r31 is the zero register.
256  return Reg31IsStackPointer;
257  }
258  return Reg31IsZeroRegister;
259  }

References IsAddSubExtended(), IsAddSubImmediate(), IsLoadOrStore(), v8::internal::Reg31IsStackPointer, and v8::internal::Reg31IsZeroRegister.

+ Here is the call graph for this function:

◆ RnValue()

int v8::internal::Instruction::RnValue ( ) const
inline

Definition at line 512 of file constants-arm.h.

512 { return Bits(19, 16); }

References Bits().

+ Here is the call graph for this function:

◆ RotateValue()

int v8::internal::Instruction::RotateValue ( ) const
inline

Definition at line 566 of file constants-arm.h.

566 { return Bits(11, 8); }

References Bits().

+ Here is the call graph for this function:

◆ RsFieldRaw() [1/2]

int v8::internal::Instruction::RsFieldRaw ( ) const
inline

Definition at line 841 of file constants-mips.h.

841  {
844  return InstructionBits() & kRsFieldMask;
845  }
const int kRsFieldMask

References DCHECK, InstructionBits(), InstructionType(), kImmediateType, kRegisterType, and v8::internal::kRsFieldMask.

+ Here is the call graph for this function:

◆ RsFieldRaw() [2/2]

int v8::internal::Instruction::RsFieldRaw ( ) const
inline

Definition at line 855 of file constants-mips64.h.

855  {
858  return InstructionBits() & kRsFieldMask;
859  }

References DCHECK, InstructionBits(), InstructionType(), kImmediateType, kRegisterType, and v8::internal::kRsFieldMask.

+ Here is the call graph for this function:

◆ RsFieldRawNoAssert() [1/2]

int v8::internal::Instruction::RsFieldRawNoAssert ( ) const
inline

Definition at line 848 of file constants-mips.h.

848  {
849  return InstructionBits() & kRsFieldMask;
850  }

References InstructionBits(), and v8::internal::kRsFieldMask.

+ Here is the call graph for this function:

◆ RsFieldRawNoAssert() [2/2]

int v8::internal::Instruction::RsFieldRawNoAssert ( ) const
inline

Definition at line 862 of file constants-mips64.h.

862  {
863  return InstructionBits() & kRsFieldMask;
864  }

References InstructionBits(), and v8::internal::kRsFieldMask.

+ Here is the call graph for this function:

◆ RsValue() [1/3]

int v8::internal::Instruction::RsValue ( ) const
inline

Definition at line 563 of file constants-arm.h.

563 { return Bits(11, 8); }

References Bits().

Referenced by SecondaryValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RsValue() [2/3]

int v8::internal::Instruction::RsValue ( ) const
inline

Definition at line 777 of file constants-mips.h.

777  {
780  return Bits(kRsShift + kRsBits - 1, kRsShift);
781  }
const int kRsBits
const int kRsShift

References Bits(), DCHECK, InstructionType(), kImmediateType, kRegisterType, v8::internal::kRsBits, and v8::internal::kRsShift.

+ Here is the call graph for this function:

◆ RsValue() [3/3]

int v8::internal::Instruction::RsValue ( ) const
inline

Definition at line 791 of file constants-mips64.h.

791  {
794  return Bits(kRsShift + kRsBits - 1, kRsShift);
795  }

References Bits(), DCHECK, InstructionType(), kImmediateType, kRegisterType, v8::internal::kRsBits, and v8::internal::kRsShift.

+ Here is the call graph for this function:

◆ RtFieldRaw() [1/2]

int v8::internal::Instruction::RtFieldRaw ( ) const
inline

Definition at line 852 of file constants-mips.h.

852  {
855  return InstructionBits() & kRtFieldMask;
856  }
const int kRtFieldMask

References DCHECK, InstructionBits(), InstructionType(), kImmediateType, kRegisterType, and v8::internal::kRtFieldMask.

+ Here is the call graph for this function:

◆ RtFieldRaw() [2/2]

int v8::internal::Instruction::RtFieldRaw ( ) const
inline

Definition at line 866 of file constants-mips64.h.

866  {
869  return InstructionBits() & kRtFieldMask;
870  }

References DCHECK, InstructionBits(), InstructionType(), kImmediateType, kRegisterType, and v8::internal::kRtFieldMask.

+ Here is the call graph for this function:

◆ RtValue() [1/3]

int v8::internal::Instruction::RtValue ( ) const
inline

Definition at line 526 of file constants-arm.h.

526 { return Bits(15, 12); }

References Bits().

Referenced by SecondaryValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RtValue() [2/3]

int v8::internal::Instruction::RtValue ( ) const
inline

Definition at line 783 of file constants-mips.h.

783  {
786  return Bits(kRtShift + kRtBits - 1, kRtShift);
787  }
const int kRtShift
const int kRtBits

References Bits(), DCHECK, InstructionType(), kImmediateType, kRegisterType, v8::internal::kRtBits, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ RtValue() [3/3]

int v8::internal::Instruction::RtValue ( ) const
inline

Definition at line 797 of file constants-mips64.h.

797  {
800  return Bits(kRtShift + kRtBits - 1, kRtShift);
801  }

References Bits(), DCHECK, InstructionType(), kImmediateType, kRegisterType, v8::internal::kRtBits, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ SaFieldRaw() [1/2]

int v8::internal::Instruction::SaFieldRaw ( ) const
inline

Definition at line 863 of file constants-mips.h.

863  {
865  return InstructionBits() & kSaFieldMask;
866  }
const int kSaFieldMask

References DCHECK, InstructionBits(), InstructionType(), kRegisterType, and v8::internal::kSaFieldMask.

+ Here is the call graph for this function:

◆ SaFieldRaw() [2/2]

int v8::internal::Instruction::SaFieldRaw ( ) const
inline

Definition at line 877 of file constants-mips64.h.

877  {
879  return InstructionBits() & kSaFieldMask;
880  }

References DCHECK, InstructionBits(), InstructionType(), kRegisterType, and v8::internal::kSaFieldMask.

+ Here is the call graph for this function:

◆ SaValue() [1/2]

int v8::internal::Instruction::SaValue ( ) const
inline

Definition at line 794 of file constants-mips.h.

794  {
796  return Bits(kSaShift + kSaBits - 1, kSaShift);
797  }
const int kSaBits
const int kSaShift

References Bits(), DCHECK, InstructionType(), kRegisterType, v8::internal::kSaBits, and v8::internal::kSaShift.

+ Here is the call graph for this function:

◆ SaValue() [2/2]

int v8::internal::Instruction::SaValue ( ) const
inline

Definition at line 808 of file constants-mips64.h.

808  {
810  return Bits(kSaShift + kSaBits - 1, kSaShift);
811  }

References Bits(), DCHECK, InstructionType(), kRegisterType, v8::internal::kSaBits, and v8::internal::kSaShift.

+ Here is the call graph for this function:

◆ SecondaryValue() [1/2]

int v8::internal::Instruction::SecondaryValue ( ) const
inline

Definition at line 873 of file constants-mips.h.

873  {
874  Opcode op = OpcodeFieldRaw();
875  switch (op) {
876  case SPECIAL:
877  case SPECIAL2:
878  return FunctionValue();
879  case COP1:
880  return RsValue();
881  case REGIMM:
882  return RtValue();
883  default:
884  return NULLSF;
885  }
886  }
Opcode OpcodeFieldRaw() const

References v8::internal::COP1, FunctionValue(), v8::internal::NULLSF, OpcodeFieldRaw(), v8::internal::REGIMM, RsValue(), RtValue(), v8::internal::SPECIAL, and v8::internal::SPECIAL2.

+ Here is the call graph for this function:

◆ SecondaryValue() [2/2]

int v8::internal::Instruction::SecondaryValue ( ) const
inline

Definition at line 887 of file constants-mips64.h.

887  {
888  Opcode op = OpcodeFieldRaw();
889  switch (op) {
890  case SPECIAL:
891  case SPECIAL2:
892  return FunctionValue();
893  case COP1:
894  return RsValue();
895  case REGIMM:
896  return RtValue();
897  default:
898  return NULLSF;
899  }
900  }

References v8::internal::COP1, FunctionValue(), v8::internal::NULLSF, OpcodeFieldRaw(), v8::internal::REGIMM, RsValue(), RtValue(), v8::internal::SPECIAL, and v8::internal::SPECIAL2.

+ Here is the call graph for this function:

◆ SetBranchImmTarget()

void v8::internal::Instruction::SetBranchImmTarget ( Instruction target)

◆ SetImmLLiteral()

void v8::internal::Instruction::SetImmLLiteral ( Instruction source)

◆ SetImmPCOffsetTarget()

void v8::internal::Instruction::SetImmPCOffsetTarget ( Instruction target)

◆ SetInstructionBits() [1/4]

void v8::internal::Instruction::SetInstructionBits ( Instr  new_instr)
inline

Definition at line 103 of file instructions-arm64.h.

103  {
104  *reinterpret_cast<Instr*>(this) = new_instr;
105  }

◆ SetInstructionBits() [2/4]

void v8::internal::Instruction::SetInstructionBits ( Instr  value)
inline

Definition at line 448 of file constants-arm.h.

448  {
449  *reinterpret_cast<Instr*>(this) = value;
450  }

◆ SetInstructionBits() [3/4]

void v8::internal::Instruction::SetInstructionBits ( Instr  value)
inline

Definition at line 745 of file constants-mips.h.

745  {
746  *reinterpret_cast<Instr*>(this) = value;
747  }

◆ SetInstructionBits() [4/4]

void v8::internal::Instruction::SetInstructionBits ( Instr  value)
inline

Definition at line 759 of file constants-mips64.h.

759  {
760  *reinterpret_cast<Instr*>(this) = value;
761  }

◆ SetPCRelImmTarget()

void v8::internal::Instruction::SetPCRelImmTarget ( Instruction target)

◆ ShiftAmountValue()

int v8::internal::Instruction::ShiftAmountValue ( ) const
inline

Definition at line 564 of file constants-arm.h.

564 { return Bits(11, 7); }

References Bits().

+ Here is the call graph for this function:

◆ ShiftField()

ShiftOp v8::internal::Instruction::ShiftField ( ) const
inline

Definition at line 559 of file constants-arm.h.

559  {
560  return static_cast<ShiftOp>(BitField(6, 5));
561  }

References BitField().

+ Here is the call graph for this function:

◆ ShiftValue()

int v8::internal::Instruction::ShiftValue ( ) const
inline

Definition at line 558 of file constants-arm.h.

558 { return static_cast<ShiftOp>(Bits(6, 5)); }

References Bits().

+ Here is the call graph for this function:

◆ SignedBits()

int32_t v8::internal::Instruction::SignedBits ( int  msb,
int  lsb 
) const
inline

Definition at line 115 of file instructions-arm64.h.

115  {
116  int32_t bits = *(reinterpret_cast<const int32_t*>(this));
117  return signed_bitextract_32(msb, lsb, bits);
118  }
int int32_t
Definition: unicode.cc:24

References v8::internal::signed_bitextract_32().

+ Here is the call graph for this function:

◆ SignValue()

int v8::internal::Instruction::SignValue ( ) const
inline

Definition at line 587 of file constants-arm.h.

587 { return Bit(6); }

References Bit().

Referenced by HasSign().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SImmed24Value()

int v8::internal::Instruction::SImmed24Value ( ) const
inline

Definition at line 594 of file constants-arm.h.

594 { return ((InstructionBits() << 8) >> 8); }

References InstructionBits().

+ Here is the call graph for this function:

◆ SizeLSPair()

LSDataSize v8::internal::Instruction::SizeLSPair ( ) const
inline

Definition at line 150 of file instructions-arm64.h.

150  {
151  return CalcLSPairDataSize(
152  static_cast<LoadStorePairOp>(Mask(LoadStorePairMask)));
153  }
LSDataSize CalcLSPairDataSize(LoadStorePairOp op)

References v8::internal::CalcLSPairDataSize(), v8::internal::LoadStorePairMask, and Mask().

+ Here is the call graph for this function:

◆ SpecialValue()

int v8::internal::Instruction::SpecialValue ( ) const
inline

Definition at line 510 of file constants-arm.h.

510 { return Bits(27, 23); }

References Bits().

+ Here is the call graph for this function:

◆ SValue()

int v8::internal::Instruction::SValue ( ) const
inline

Definition at line 554 of file constants-arm.h.

554 { return Bit(20); }

References Bit().

Referenced by HasS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SvcValue()

SoftwareInterruptCodes v8::internal::Instruction::SvcValue ( ) const
inline

Definition at line 597 of file constants-arm.h.

597  {
598  return static_cast<SoftwareInterruptCodes>(Bits(23, 0));
599  }

References Bits().

Referenced by IsStop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SzValue()

int v8::internal::Instruction::SzValue ( ) const
inline

Definition at line 532 of file constants-arm.h.

532 { return Bit(8); }

References Bit().

+ Here is the call graph for this function:

◆ TypeValue()

int v8::internal::Instruction::TypeValue ( ) const
inline

Definition at line 509 of file constants-arm.h.

509 { return Bits(27, 25); }

References Bits().

Referenced by IsStop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UValue()

int v8::internal::Instruction::UValue ( ) const
inline

Definition at line 528 of file constants-arm.h.

528 { return Bit(23); }

References Bit().

Referenced by HasU().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VAValue()

int v8::internal::Instruction::VAValue ( ) const
inline

Definition at line 535 of file constants-arm.h.

535 { return Bits(23, 21); }

References Bits().

+ Here is the call graph for this function:

◆ VBValue()

int v8::internal::Instruction::VBValue ( ) const
inline

Definition at line 536 of file constants-arm.h.

536 { return Bits(6, 5); }

References Bits().

+ Here is the call graph for this function:

◆ VCValue()

int v8::internal::Instruction::VCValue ( ) const
inline

Definition at line 534 of file constants-arm.h.

534 { return Bit(8); }

References Bit().

+ Here is the call graph for this function:

◆ VdValue()

int v8::internal::Instruction::VdValue ( ) const
inline

Definition at line 522 of file constants-arm.h.

522 { return Bits(15, 12); }

References Bits().

+ Here is the call graph for this function:

◆ VFPDRegValue()

int v8::internal::Instruction::VFPDRegValue ( VFPRegPrecision  pre)
inline

Definition at line 543 of file constants-arm.h.

543  {
544  return VFPGlueRegValue(pre, 12, 22);
545  }
int VFPGlueRegValue(VFPRegPrecision pre, int four_bit, int one_bit)

References VFPGlueRegValue().

+ Here is the call graph for this function:

◆ VFPGlueRegValue()

int v8::internal::Instruction::VFPGlueRegValue ( VFPRegPrecision  pre,
int  four_bit,
int  one_bit 
)
inlineprivate

Definition at line 646 of file constants-arm.h.

646  {
647  if (pre == kSinglePrecision) {
648  return (Bits(four_bit + 3, four_bit) << 1) | Bit(one_bit);
649  }
650  return (Bit(one_bit) << 4) | Bits(four_bit + 3, four_bit);
651  }

References Bit(), Bits(), and v8::internal::kSinglePrecision.

Referenced by VFPDRegValue(), VFPMRegValue(), and VFPNRegValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VFPMRegValue()

int v8::internal::Instruction::VFPMRegValue ( VFPRegPrecision  pre)
inline

Definition at line 540 of file constants-arm.h.

540  {
541  return VFPGlueRegValue(pre, 0, 5);
542  }

References VFPGlueRegValue().

+ Here is the call graph for this function:

◆ VFPNRegValue()

int v8::internal::Instruction::VFPNRegValue ( VFPRegPrecision  pre)
inline

Definition at line 537 of file constants-arm.h.

537  {
538  return VFPGlueRegValue(pre, 16, 7);
539  }

References VFPGlueRegValue().

+ Here is the call graph for this function:

◆ VLValue()

int v8::internal::Instruction::VLValue ( ) const
inline

Definition at line 533 of file constants-arm.h.

533 { return Bit(20); }

References Bit().

+ Here is the call graph for this function:

◆ VmValue()

int v8::internal::Instruction::VmValue ( ) const
inline

Definition at line 521 of file constants-arm.h.

521 { return Bits(3, 0); }

References Bits().

+ Here is the call graph for this function:

◆ VnValue()

int v8::internal::Instruction::VnValue ( ) const
inline

Definition at line 520 of file constants-arm.h.

520 { return Bits(19, 16); }

References Bits().

+ Here is the call graph for this function:

◆ WValue()

int v8::internal::Instruction::WValue ( ) const
inline

Definition at line 579 of file constants-arm.h.

579 { return Bit(21); }

References Bit().

Referenced by HasW().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ ImmPCRelRangeBitwidth

const int v8::internal::Instruction::ImmPCRelRangeBitwidth = 21
static

Definition at line 380 of file instructions-arm64.h.


The documentation for this class was generated from the following files: