v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::InstructionBase Class Reference

#include <constants-loong64.h>

Inheritance diagram for v8::internal::InstructionBase:
Collaboration diagram for v8::internal::InstructionBase:

Public Types

enum  Type {
  kOp6Type , kOp7Type , kOp8Type , kOp10Type ,
  kOp12Type , kOp14Type , kOp17Type , kOp22Type ,
  kUnsupported = -1 , kRegisterType , kImmediateType , kJumpType ,
  kUnsupported = -1 , kRType , kR4Type , kIType ,
  kSType , kBType , kUType , kJType ,
  kCRType , kCIType , kCSSType , kCIWType ,
  kCLType , kCSType , kCAType , kCBType ,
  kCJType , kVType , kVLType , kVSType ,
  kVAMOType , kVIVVType , kVFVVType , kVMVVType ,
  kVIVIType , kVIVXType , kVFVFType , kVMVXType ,
  kVSETType , kUnsupported = -1
}
 
enum  { kPCReadOffset = 0 }
 
enum  Type {
  kOp6Type , kOp7Type , kOp8Type , kOp10Type ,
  kOp12Type , kOp14Type , kOp17Type , kOp22Type ,
  kUnsupported = -1 , kRegisterType , kImmediateType , kJumpType ,
  kUnsupported = -1 , kRType , kR4Type , kIType ,
  kSType , kBType , kUType , kJType ,
  kCRType , kCIType , kCSSType , kCIWType ,
  kCLType , kCSType , kCAType , kCBType ,
  kCJType , kVType , kVLType , kVSType ,
  kVAMOType , kVIVVType , kVFVVType , kVMVVType ,
  kVIVIType , kVIVXType , kVFVFType , kVMVXType ,
  kVSETType , kUnsupported = -1
}
 
enum  { kPCReadOffset = 0 }
 
enum  Type {
  kOp6Type , kOp7Type , kOp8Type , kOp10Type ,
  kOp12Type , kOp14Type , kOp17Type , kOp22Type ,
  kUnsupported = -1 , kRegisterType , kImmediateType , kJumpType ,
  kUnsupported = -1 , kRType , kR4Type , kIType ,
  kSType , kBType , kUType , kJType ,
  kCRType , kCIType , kCSSType , kCIWType ,
  kCLType , kCSType , kCAType , kCBType ,
  kCJType , kVType , kVLType , kVSType ,
  kVAMOType , kVIVVType , kVFVVType , kVMVVType ,
  kVIVIType , kVIVXType , kVFVFType , kVMVXType ,
  kVSETType , kUnsupported = -1
}
 

Public Member Functions

Instr InstructionBits () const
 
V8_EXPORT_PRIVATE void SetInstructionBits (Instr new_instr, WritableJitAllocation *jit_allocation=nullptr)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
int RjFieldRawNoAssert () const
 
Type InstructionType () const
 
Instr InstructionBits () const
 
V8_EXPORT_PRIVATE void SetInstructionBits (Instr new_instr, WritableJitAllocation *jit_allocation=nullptr)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
Opcode OpcodeValue () const
 
int FunctionFieldRaw () const
 
Opcode OpcodeFieldRaw () const
 
int RsFieldRawNoAssert () const
 
int SaFieldRaw () const
 
Type InstructionType () const
 
MSAMinorOpcode MSAMinorOpcodeField () const
 
bool IsIllegalInstruction () const
 
bool IsShortInstruction () const
 
uint8_t InstructionSize () const
 
Instr InstructionBits () const
 
void SetInstructionBits (Instr value)
 
int Bit (int nr) const
 
int Bits (int hi, int lo) const
 
BaseOpcode BaseOpcodeValue () const
 
BaseOpcode BaseOpcodeFieldRaw () const
 
int Funct7FieldRaw () const
 
int Funct6FieldRaw () const
 
int Funct3FieldRaw () const
 
int Rs1FieldRawNoAssert () const
 
int Rs2FieldRawNoAssert () const
 
int Rs3FieldRawNoAssert () const
 
int32_t ITypeBits () const
 
int32_t InstructionOpcodeType () const
 
Type InstructionType () const
 

Static Public Attributes

static constexpr uint64_t kOpcodeImmediateTypeMask
 
static const uint64_t kFunctionFieldRegisterTypeMask
 

Protected Member Functions

 InstructionBase ()
 
 InstructionBase ()
 
 InstructionBase ()
 

Detailed Description

Definition at line 681 of file base-constants-riscv.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kPCReadOffset 

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

◆ anonymous enum

anonymous enum
Enumerator
kPCReadOffset 

Definition at line 683 of file base-constants-riscv.h.

◆ Type [1/3]

Enumerator
kOp6Type 
kOp7Type 
kOp8Type 
kOp10Type 
kOp12Type 
kOp14Type 
kOp17Type 
kOp22Type 
kUnsupported 
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 
kRType 
kR4Type 
kIType 
kSType 
kBType 
kUType 
kJType 
kCRType 
kCIType 
kCSSType 
kCIWType 
kCLType 
kCSType 
kCAType 
kCBType 
kCJType 
kVType 
kVLType 
kVSType 
kVAMOType 
kVIVVType 
kVFVVType 
kVMVVType 
kVIVIType 
kVIVXType 
kVFVFType 
kVMVXType 
kVSETType 
kUnsupported 

Definition at line 722 of file constants-loong64.h.

◆ Type [2/3]

Enumerator
kOp6Type 
kOp7Type 
kOp8Type 
kOp10Type 
kOp12Type 
kOp14Type 
kOp17Type 
kOp22Type 
kUnsupported 
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 
kRType 
kR4Type 
kIType 
kSType 
kBType 
kUType 
kJType 
kCRType 
kCIType 
kCSSType 
kCIWType 
kCLType 
kCSType 
kCAType 
kCBType 
kCJType 
kVType 
kVLType 
kVSType 
kVAMOType 
kVIVVType 
kVFVVType 
kVMVVType 
kVIVIType 
kVIVXType 
kVFVFType 
kVMVXType 
kVSETType 
kUnsupported 

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

◆ Type [3/3]

Enumerator
kOp6Type 
kOp7Type 
kOp8Type 
kOp10Type 
kOp12Type 
kOp14Type 
kOp17Type 
kOp22Type 
kUnsupported 
kRegisterType 
kImmediateType 
kJumpType 
kUnsupported 
kRType 
kR4Type 
kIType 
kSType 
kBType 
kUType 
kJType 
kCRType 
kCIType 
kCSSType 
kCIWType 
kCLType 
kCSType 
kCAType 
kCBType 
kCJType 
kVType 
kVLType 
kVSType 
kVAMOType 
kVIVVType 
kVFVVType 
kVMVVType 
kVIVIType 
kVIVXType 
kVFVFType 
kVMVXType 
kVSETType 
kUnsupported 

Definition at line 690 of file base-constants-riscv.h.

Constructor & Destructor Documentation

◆ InstructionBase() [1/3]

v8::internal::InstructionBase::InstructionBase ( )
inlineprotected

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

◆ InstructionBase() [2/3]

v8::internal::InstructionBase::InstructionBase ( )
inlineprotected

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

◆ InstructionBase() [3/3]

v8::internal::InstructionBase::InstructionBase ( )
inlineprotected

Definition at line 807 of file base-constants-riscv.h.

Member Function Documentation

◆ BaseOpcodeFieldRaw()

BaseOpcode v8::internal::InstructionBase::BaseOpcodeFieldRaw ( ) const
inline

Definition at line 765 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ BaseOpcodeValue()

BaseOpcode v8::internal::InstructionBase::BaseOpcodeValue ( ) const
inline

Definition at line 759 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Bit() [1/3]

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

Definition at line 744 of file constants-loong64.h.

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

◆ Bit() [2/3]

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

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

Here is the call graph for this function:

◆ Bit() [3/3]

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

Definition at line 751 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Bits() [1/3]

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

Definition at line 747 of file constants-loong64.h.

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

◆ Bits() [2/3]

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

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

Here is the call graph for this function:

◆ Bits() [3/3]

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

Definition at line 754 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Funct3FieldRaw()

int v8::internal::InstructionBase::Funct3FieldRaw ( ) const
inline

Definition at line 776 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Funct6FieldRaw()

int v8::internal::InstructionBase::Funct6FieldRaw ( ) const
inline

Definition at line 773 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Funct7FieldRaw()

int v8::internal::InstructionBase::Funct7FieldRaw ( ) const
inline

Definition at line 770 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ FunctionFieldRaw()

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

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

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

◆ InstructionBits() [1/3]

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

Definition at line 735 of file constants-loong64.h.

Here is the caller graph for this function:

◆ InstructionBits() [2/3]

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

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

◆ InstructionBits() [3/3]

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

Definition at line 738 of file base-constants-riscv.h.

◆ InstructionOpcodeType()

int32_t v8::internal::InstructionBase::InstructionOpcodeType ( ) const
inline

Definition at line 795 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ InstructionSize()

uint8_t v8::internal::InstructionBase::InstructionSize ( ) const
inline

Definition at line 731 of file base-constants-riscv.h.

◆ InstructionType() [1/3]

InstructionBase::Type v8::internal::InstructionBase::InstructionType ( ) const
inline

Definition at line 939 of file constants-loong64.h.

Here is the call graph for this function:

◆ InstructionType() [2/3]

Type v8::internal::InstructionBase::InstructionType ( ) const
inline

◆ InstructionType() [3/3]

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

◆ IsIllegalInstruction()

bool v8::internal::InstructionBase::IsIllegalInstruction ( ) const
inline

Definition at line 724 of file base-constants-riscv.h.

◆ IsShortInstruction()

bool v8::internal::InstructionBase::IsShortInstruction ( ) const

Definition at line 147 of file base-constants-riscv.cc.

Here is the caller graph for this function:

◆ ITypeBits()

int32_t v8::internal::InstructionBase::ITypeBits ( ) const
inline

Definition at line 793 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ MSAMinorOpcodeField()

MSAMinorOpcode v8::internal::InstructionBase::MSAMinorOpcodeField ( ) const
inline

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

Here is the call graph for this function:

◆ OpcodeFieldRaw()

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

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

Here is the call graph for this function:

◆ OpcodeValue()

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

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

Here is the call graph for this function:

◆ RjFieldRawNoAssert()

int v8::internal::InstructionBase::RjFieldRawNoAssert ( ) const
inline

Definition at line 752 of file constants-loong64.h.

Here is the call graph for this function:

◆ Rs1FieldRawNoAssert()

int v8::internal::InstructionBase::Rs1FieldRawNoAssert ( ) const
inline

Definition at line 779 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Rs2FieldRawNoAssert()

int v8::internal::InstructionBase::Rs2FieldRawNoAssert ( ) const
inline

Definition at line 784 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ Rs3FieldRawNoAssert()

int v8::internal::InstructionBase::Rs3FieldRawNoAssert ( ) const
inline

Definition at line 789 of file base-constants-riscv.h.

Here is the call graph for this function:

◆ RsFieldRawNoAssert()

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

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

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

◆ SaFieldRaw()

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

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

Here is the call graph for this function:

◆ SetInstructionBits() [1/3]

V8_EXPORT_PRIVATE void v8::internal::InstructionBase::SetInstructionBits ( Instr new_instr,
WritableJitAllocation * jit_allocation = nullptr )

◆ SetInstructionBits() [2/3]

V8_EXPORT_PRIVATE void v8::internal::InstructionBase::SetInstructionBits ( Instr new_instr,
WritableJitAllocation * jit_allocation = nullptr )

◆ SetInstructionBits() [3/3]

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

Definition at line 746 of file base-constants-riscv.h.

Member Data Documentation

◆ kFunctionFieldRegisterTypeMask

const uint64_t v8::internal::InstructionBase::kFunctionFieldRegisterTypeMask
static
Initial value:
=
#define FunctionFieldToBitNumber(function)
constexpr Opcode ADD
constexpr Opcode AND
constexpr MoveWideImmediateOp MOVZ
constexpr MoveWideImmediateOp MOVN
constexpr Opcode TEQ
constexpr Opcode SUB

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

◆ kOpcodeImmediateTypeMask

uint64_t v8::internal::InstructionBase::kOpcodeImmediateTypeMask
staticconstexpr
Initial value:
=
constexpr Opcode ADDI
constexpr Opcode SLTIU
constexpr Opcode LBU
constexpr Opcode LDR
constexpr Opcode SW
constexpr Opcode LHU
constexpr Opcode BGTZ
constexpr Opcode LH
constexpr BarrierOption LD
static constexpr uint64_t OpcodeToBitNumber(Opcode opcode)
constexpr Opcode SD
constexpr Opcode BGTZL
constexpr Opcode POP66
constexpr Opcode LW
constexpr Opcode LDL
constexpr Opcode SH
constexpr Opcode LWU
constexpr Opcode SB
constexpr Opcode DAUI
constexpr Opcode REGIMM
constexpr Opcode SWL
constexpr Opcode LUI
constexpr Opcode SDL
constexpr Opcode POP76
constexpr Opcode LDC1
constexpr Opcode PCREL
constexpr Opcode BLEZ
constexpr Opcode LB
constexpr Opcode LWR
constexpr Opcode BALC
constexpr Opcode DADDIU
constexpr Opcode SDR
constexpr Opcode DADDI
constexpr Opcode SWR
constexpr Opcode SDC1
constexpr Opcode BLEZL
constexpr Opcode BEQL
constexpr Opcode BNEL
constexpr Opcode SWC1
constexpr Opcode ADDIU
constexpr Opcode LWC1
constexpr Opcode BC
constexpr Opcode LWL

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


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