v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Instruction Class Reference

#include <constants-arm.h>

Public Types

enum  { kInstrSize = 4, kInstrSizeLog2 = 2, kPCReadOffset = 8 }
 
enum  { kInstrSize = 4, kInstrSizeLog2 = 2, kPCReadOffset = 8 }
 
enum  Type { 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 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
 
int Immed8Value () const
 
int Immed4Value () const
 
int ImmedMovwMovtValue () const
 
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 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 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 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 InstructionAt (byte *pc)
 

Detailed Description

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

Member Enumeration Documentation

anonymous enum
Enumerator
kInstrSize 
kInstrSizeLog2 
kPCReadOffset 

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

anonymous enum
Enumerator
kInstrSize 
kInstrSizeLog2 
kPCReadOffset 

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

enum Type
Enumerator
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 

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

Member Function Documentation

static Instruction* At ( byte pc)
inlinestatic

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

References v8::internal::pc.

static Instruction* At ( byte pc)
inlinestatic

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

References v8::internal::pc.

static int Bit ( Instr  instr,
int  nr 
)
inlinestatic

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

int Bit ( int  nr) const
inline

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

References Instruction::InstructionBits().

int BitField ( int  hi,
int  lo 
) const
inline
static int BitField ( Instr  instr,
int  hi,
int  lo 
)
inlinestatic

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

References v8::internal::lo.

static int Bits ( Instr  instr,
int  hi,
int  lo 
)
inlinestatic

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

References v8::internal::lo.

int Bits ( int  hi,
int  lo 
) const
inline

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

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

int BValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasB().

Condition ConditionField ( ) const
inline

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

References Instruction::BitField().

Condition ConditionValue ( ) const
inline

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

References Instruction::Bits().

int CoprocessorValue ( ) const
inline

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

References Instruction::Bits().

DECLARE_STATIC_ACCESSOR ( RnValue  )
DECLARE_STATIC_ACCESSOR ( RdValue  )
DECLARE_STATIC_ACCESSOR ( RmValue  )
DECLARE_STATIC_TYPED_ACCESSOR ( Condition  ,
ConditionValue   
)
DECLARE_STATIC_TYPED_ACCESSOR ( Condition  ,
ConditionField   
)
double DoubleImmedVmov ( ) const
int DValue ( ) const
inline

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

References Instruction::Bit().

int FBccValue ( ) const
inline
int FBtrueValue ( ) const
inline
int FCccValue ( ) const
inline
int FdValue ( ) const
inline
int FsValue ( ) const
inline
int FtValue ( ) const
inline
int FunctionFieldRaw ( ) const
inline
bool HasB ( ) const
inline

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

References Instruction::BValue().

bool HasH ( ) const
inline

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

References Instruction::HValue().

bool HasL ( ) const
inline

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

References Instruction::LValue().

bool HasLink ( ) const
inline

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

References Instruction::LinkValue().

bool HasS ( ) const
inline

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

References Instruction::SValue().

bool HasSign ( ) const
inline

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

References Instruction::SignValue().

bool HasU ( ) const
inline

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

References Instruction::UValue().

bool HasW ( ) const
inline

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

References Instruction::WValue().

int HValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasH().

int Immed4Value ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::ImmedMovwMovtValue().

int Immed8Value ( ) const
inline

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

References Instruction::Bits().

int ImmedHValue ( ) const
inline

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

References Instruction::Bits().

int ImmedLValue ( ) const
inline

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

References Instruction::Bits().

int ImmedMovwMovtValue ( ) const
inline

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

References Instruction::Immed4Value(), and Instruction::Offset12Value().

Instr InstructionBits ( ) const
inline

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

bool IsForbiddenInBranchDelay ( ) const
bool IsLinkingInstruction ( ) const
bool IsMiscType0 ( ) const
inline

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

References Instruction::Bit().

bool IsNopType1 ( ) const
inline

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

References Instruction::Bits().

bool IsSpecialType0 ( ) const
inline

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

References Instruction::Bit().

bool IsStop ( ) const
inline
bool IsTrap ( ) const
int LinkValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasLink().

int LValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasL().

int MValue ( ) const
inline

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

References Instruction::Bit().

int NValue ( ) const
inline

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

References Instruction::Bit().

int Offset12Value ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::ImmedMovwMovtValue().

int Opc1Value ( ) const
inline

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

References Instruction::Bit(), and Instruction::Bits().

int Opc2Value ( ) const
inline

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

References Instruction::Bits().

int Opc3Value ( ) const
inline

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

References Instruction::Bits().

Opcode OpcodeField ( ) const
inline

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

References Instruction::BitField().

Opcode OpcodeFieldRaw ( ) const
inline
int OpcodeValue ( ) const
inline

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

References Instruction::Bits().

Opcode OpcodeValue ( ) const
inline
int PUField ( ) const
inline

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

References Instruction::BitField().

int PUValue ( ) const
inline

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

References Instruction::Bits().

int PValue ( ) const
inline

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

References Instruction::Bit().

int RdValue ( ) const
inline

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

References Instruction::Bits().

int RegShiftValue ( ) const
inline

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

References Instruction::Bit().

int RlistValue ( ) const
inline

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

References Instruction::Bits().

int RmValue ( ) const
inline

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

References Instruction::Bits().

int RnValue ( ) const
inline

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

References Instruction::Bits().

int RotateValue ( ) const
inline

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

References Instruction::Bits().

int RsFieldRawNoAssert ( ) const
inline

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

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

int RsValue ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::SecondaryValue().

int RtValue ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::SecondaryValue().

void SetInstructionBits ( Instr  value)
inline

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

void SetInstructionBits ( Instr  value)
inline

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

int ShiftAmountValue ( ) const
inline

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

References Instruction::Bits().

ShiftOp ShiftField ( ) const
inline

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

References Instruction::BitField().

int ShiftValue ( ) const
inline

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

References Instruction::Bits().

int SignValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasSign().

int SImmed24Value ( ) const
inline

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

References Instruction::InstructionBits().

int SValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasS().

SoftwareInterruptCodes SvcValue ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::IsStop().

int SzValue ( ) const
inline

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

References Instruction::Bit().

int TypeValue ( ) const
inline

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

References Instruction::Bits().

Referenced by Instruction::IsStop().

int UValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasU().

int VAValue ( ) const
inline

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

References Instruction::Bits().

int VBValue ( ) const
inline

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

References Instruction::Bits().

int VCValue ( ) const
inline

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

References Instruction::Bit().

int VdValue ( ) const
inline

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

References Instruction::Bits().

int VFPDRegValue ( VFPRegPrecision  pre)
inline

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

int VFPMRegValue ( VFPRegPrecision  pre)
inline

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

int VFPNRegValue ( VFPRegPrecision  pre)
inline

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

int VLValue ( ) const
inline

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

References Instruction::Bit().

int VmValue ( ) const
inline

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

References Instruction::Bits().

int VnValue ( ) const
inline

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

References Instruction::Bits().

int WValue ( ) const
inline

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

References Instruction::Bit().

Referenced by Instruction::HasW().


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