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

#include <register-arm64.h>

Inheritance diagram for v8::internal::VRegister:
Collaboration diagram for v8::internal::VRegister:

Public Member Functions

VRegister V8B () const
 
VRegister V16B () const
 
VRegister V4H () const
 
VRegister V8H () const
 
VRegister V2S () const
 
VRegister V4S () const
 
VRegister V2D () const
 
VRegister V1D () const
 
VRegister V1Q () const
 
VRegister Format (VectorFormat f) const
 
bool Is8B () const
 
bool Is16B () const
 
bool Is4H () const
 
bool Is8H () const
 
bool Is2S () const
 
bool Is4S () const
 
bool Is1D () const
 
bool Is2D () const
 
bool Is1Q () const
 
bool Is1B () const
 
bool Is1H () const
 
bool Is1S () const
 
bool IsLaneSizeB () const
 
bool IsLaneSizeH () const
 
bool IsLaneSizeS () const
 
bool IsLaneSizeD () const
 
bool IsScalar () const
 
bool IsVector () const
 
bool IsSameFormat (const VRegister &other) const
 
int LaneCount () const
 
unsigned LaneSizeInBytes () const
 
unsigned LaneSizeInBits () const
 
constexpr VRegister (int code)
 
- Public Member Functions inherited from v8::internal::CPURegister
RegisterType type () const
 
int SizeInBits () const
 
int SizeInBytes () const
 
bool Is8Bits () const
 
bool Is16Bits () const
 
bool Is32Bits () const
 
bool Is64Bits () const
 
bool Is128Bits () const
 
bool IsNone () const
 
constexpr bool Aliases (const CPURegister &other) const
 
constexpr bool operator== (const CPURegister &other) const
 
constexpr bool operator!= (const CPURegister &other) const
 
bool IsZero () const
 
bool IsSP () const
 
bool IsRegister () const
 
bool IsVRegister () const
 
bool IsFPRegister () const
 
bool IsW () const
 
bool IsX () const
 
bool IsV () const
 
bool IsB () const
 
bool IsH () const
 
bool IsS () const
 
bool IsD () const
 
bool IsQ () const
 
Register Reg () const
 
VRegister VReg () const
 
Register X () const
 
Register W () const
 
VRegister V () const
 
VRegister B () const
 
VRegister H () const
 
VRegister D () const
 
VRegister S () const
 
VRegister Q () const
 
bool IsSameSizeAndType (const CPURegister &other) const
 
constexpr bool IsEven () const
 
int MaxCode () const
 
- Public Member Functions inherited from v8::internal::RegisterBase< CPURegister, kRegAfterLast >
constexpr bool is_valid () const
 
constexpr int8_t code () const
 
constexpr bool operator== (const RegisterBase< CPURegister, kAfterLastRegister > &other) const
 
constexpr bool operator!= (const RegisterBase< CPURegister, kAfterLastRegister > &other) const
 
- Public Member Functions inherited from v8::internal::RegisterBase< VRegister, kVRAfterLast >
constexpr bool is_valid () const
 
constexpr int8_t code () const
 
constexpr bool operator== (const RegisterBase< VRegister, kAfterLastRegister > &other) const
 
constexpr bool operator!= (const RegisterBase< VRegister, kAfterLastRegister > &other) const
 

Static Public Member Functions

static constexpr VRegister no_reg ()
 
static constexpr VRegister Create (int code, int size, int lane_count=1)
 
static VRegister Create (int reg_code, VectorFormat format)
 
static VRegister BRegFromCode (unsigned code)
 
static VRegister HRegFromCode (unsigned code)
 
static VRegister SRegFromCode (unsigned code)
 
static VRegister DRegFromCode (unsigned code)
 
static VRegister QRegFromCode (unsigned code)
 
static VRegister VRegFromCode (unsigned code)
 
static constexpr VRegister from_code (int code)
 
- Static Public Member Functions inherited from v8::internal::CPURegister
static constexpr CPURegister no_reg ()
 
static constexpr CPURegister Create (int code, int size, RegisterType type)
 
- Static Public Member Functions inherited from v8::internal::RegisterBase< CPURegister, kRegAfterLast >
static constexpr CPURegister no_reg ()
 
static constexpr CPURegister from_code (int8_t code)
 
static const char * GetSpecialRegisterName (int code)
 
- Static Public Member Functions inherited from v8::internal::RegisterBase< VRegister, kVRAfterLast >
static constexpr VRegister no_reg ()
 
static constexpr VRegister from_code (int8_t code)
 
static const char * GetSpecialRegisterName (int code)
 

Static Public Attributes

static constexpr int kMaxNumRegisters = kNumberOfVRegisters
 
- Static Public Attributes inherited from v8::internal::RegisterBase< CPURegister, kRegAfterLast >
static constexpr int8_t kCode_no_reg
 
static constexpr int8_t kNumRegisters
 
- Static Public Attributes inherited from v8::internal::RegisterBase< VRegister, kVRAfterLast >
static constexpr int8_t kCode_no_reg
 
static constexpr int8_t kNumRegisters
 

Private Member Functions

constexpr VRegister (const CPURegister &r, int lane_count)
 

Static Private Member Functions

static constexpr bool IsValidLaneCount (int lane_count)
 

Private Attributes

int8_t lane_count_
 

Friends

class RegisterBase
 

Additional Inherited Members

- Public Types inherited from v8::internal::CPURegister
enum  RegisterType : int8_t { kRegister , kVRegister , kNoRegister }
 
- Protected Member Functions inherited from v8::internal::CPURegister
constexpr CPURegister (int code, int size, RegisterType type)
 
- Protected Member Functions inherited from v8::internal::RegisterBase< CPURegister, kRegAfterLast >
constexpr RegisterBase (int code)
 
- Protected Member Functions inherited from v8::internal::RegisterBase< VRegister, kVRAfterLast >
constexpr RegisterBase (int code)
 
- Static Protected Member Functions inherited from v8::internal::CPURegister
static constexpr bool IsValidRegister (int code, int size)
 
static constexpr bool IsValidVRegister (int code, int size)
 
static constexpr bool IsValid (int code, int size, RegisterType type)
 
static constexpr bool IsNone (int code, int size, RegisterType type)
 
- Protected Attributes inherited from v8::internal::CPURegister
uint8_t reg_size_
 
RegisterType reg_type_
 

Detailed Description

Definition at line 193 of file register-riscv.h.

Constructor & Destructor Documentation

◆ VRegister() [1/2]

v8::internal::VRegister::VRegister ( const CPURegister & r,
int lane_count )
inlineexplicitconstexprprivate

Definition at line 453 of file register-arm64.h.

Here is the caller graph for this function:

◆ VRegister() [2/2]

v8::internal::VRegister::VRegister ( int code)
inlineexplicitconstexpr

Definition at line 197 of file register-riscv.h.

Member Function Documentation

◆ BRegFromCode()

VRegister v8::internal::VRegister::BRegFromCode ( unsigned code)
inlinestatic

Definition at line 117 of file assembler-arm64-inl.h.

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

◆ Create() [1/2]

static constexpr VRegister v8::internal::VRegister::Create ( int code,
int size,
int lane_count = 1 )
inlinestaticconstexpr

Definition at line 347 of file register-arm64.h.

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

◆ Create() [2/2]

static VRegister v8::internal::VRegister::Create ( int reg_code,
VectorFormat format )
inlinestatic

Definition at line 353 of file register-arm64.h.

Here is the call graph for this function:

◆ DRegFromCode()

VRegister v8::internal::VRegister::DRegFromCode ( unsigned code)
inlinestatic

Definition at line 132 of file assembler-arm64-inl.h.

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

◆ Format()

VRegister v8::internal::VRegister::Format ( VectorFormat f) const
inline

Definition at line 394 of file register-arm64.h.

Here is the call graph for this function:

◆ from_code()

static constexpr VRegister v8::internal::VRegister::from_code ( int code)
inlinestaticconstexpr

Definition at line 445 of file register-arm64.h.

Here is the call graph for this function:

◆ HRegFromCode()

VRegister v8::internal::VRegister::HRegFromCode ( unsigned code)
inlinestatic

Definition at line 122 of file assembler-arm64-inl.h.

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

◆ Is16B()

bool v8::internal::VRegister::Is16B ( ) const
inline

Definition at line 399 of file register-arm64.h.

Here is the call graph for this function:

◆ Is1B()

bool v8::internal::VRegister::Is1B ( ) const
inline

Definition at line 411 of file register-arm64.h.

Here is the call graph for this function:

◆ Is1D()

bool v8::internal::VRegister::Is1D ( ) const
inline

Definition at line 404 of file register-arm64.h.

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

◆ Is1H()

bool v8::internal::VRegister::Is1H ( ) const
inline

Definition at line 415 of file register-arm64.h.

Here is the call graph for this function:

◆ Is1Q()

bool v8::internal::VRegister::Is1Q ( ) const
inline

Definition at line 406 of file register-arm64.h.

Here is the call graph for this function:

◆ Is1S()

bool v8::internal::VRegister::Is1S ( ) const
inline

Definition at line 419 of file register-arm64.h.

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

◆ Is2D()

bool v8::internal::VRegister::Is2D ( ) const
inline

Definition at line 405 of file register-arm64.h.

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

◆ Is2S()

bool v8::internal::VRegister::Is2S ( ) const
inline

Definition at line 402 of file register-arm64.h.

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

◆ Is4H()

bool v8::internal::VRegister::Is4H ( ) const
inline

Definition at line 400 of file register-arm64.h.

Here is the call graph for this function:

◆ Is4S()

bool v8::internal::VRegister::Is4S ( ) const
inline

Definition at line 403 of file register-arm64.h.

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

◆ Is8B()

bool v8::internal::VRegister::Is8B ( ) const
inline

Definition at line 398 of file register-arm64.h.

Here is the call graph for this function:

◆ Is8H()

bool v8::internal::VRegister::Is8H ( ) const
inline

Definition at line 401 of file register-arm64.h.

Here is the call graph for this function:

◆ IsLaneSizeB()

bool v8::internal::VRegister::IsLaneSizeB ( ) const
inline

Definition at line 424 of file register-arm64.h.

Here is the call graph for this function:

◆ IsLaneSizeD()

bool v8::internal::VRegister::IsLaneSizeD ( ) const
inline

Definition at line 427 of file register-arm64.h.

Here is the call graph for this function:

◆ IsLaneSizeH()

bool v8::internal::VRegister::IsLaneSizeH ( ) const
inline

Definition at line 425 of file register-arm64.h.

Here is the call graph for this function:

◆ IsLaneSizeS()

bool v8::internal::VRegister::IsLaneSizeS ( ) const
inline

Definition at line 426 of file register-arm64.h.

Here is the call graph for this function:

◆ IsSameFormat()

bool v8::internal::VRegister::IsSameFormat ( const VRegister & other) const
inline

Definition at line 432 of file register-arm64.h.

Here is the caller graph for this function:

◆ IsScalar()

bool v8::internal::VRegister::IsScalar ( ) const
inline

Definition at line 429 of file register-arm64.h.

Here is the caller graph for this function:

◆ IsValidLaneCount()

static constexpr bool v8::internal::VRegister::IsValidLaneCount ( int lane_count)
inlinestaticconstexprprivate

Definition at line 456 of file register-arm64.h.

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

◆ IsVector()

bool v8::internal::VRegister::IsVector ( ) const
inline

Definition at line 430 of file register-arm64.h.

Here is the caller graph for this function:

◆ LaneCount()

int v8::internal::VRegister::LaneCount ( ) const
inline

Definition at line 436 of file register-arm64.h.

Here is the caller graph for this function:

◆ LaneSizeInBits()

unsigned v8::internal::VRegister::LaneSizeInBits ( ) const
inline

Definition at line 440 of file register-arm64.h.

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

◆ LaneSizeInBytes()

unsigned v8::internal::VRegister::LaneSizeInBytes ( ) const
inline

Definition at line 438 of file register-arm64.h.

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

◆ no_reg()

static constexpr VRegister v8::internal::VRegister::no_reg ( )
inlinestaticconstexpr

Definition at line 343 of file register-arm64.h.

Here is the call graph for this function:

◆ QRegFromCode()

VRegister v8::internal::VRegister::QRegFromCode ( unsigned code)
inlinestatic

Definition at line 137 of file assembler-arm64-inl.h.

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

◆ SRegFromCode()

VRegister v8::internal::VRegister::SRegFromCode ( unsigned code)
inlinestatic

Definition at line 127 of file assembler-arm64-inl.h.

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

◆ V16B()

VRegister v8::internal::VRegister::V16B ( ) const
inline

Definition at line 369 of file register-arm64.h.

Here is the call graph for this function:

◆ V1D()

VRegister v8::internal::VRegister::V1D ( ) const
inline

Definition at line 387 of file register-arm64.h.

Here is the call graph for this function:

◆ V1Q()

VRegister v8::internal::VRegister::V1Q ( ) const
inline

Definition at line 390 of file register-arm64.h.

Here is the call graph for this function:

◆ V2D()

VRegister v8::internal::VRegister::V2D ( ) const
inline

Definition at line 384 of file register-arm64.h.

Here is the call graph for this function:

◆ V2S()

VRegister v8::internal::VRegister::V2S ( ) const
inline

Definition at line 378 of file register-arm64.h.

Here is the call graph for this function:

◆ V4H()

VRegister v8::internal::VRegister::V4H ( ) const
inline

Definition at line 372 of file register-arm64.h.

Here is the call graph for this function:

◆ V4S()

VRegister v8::internal::VRegister::V4S ( ) const
inline

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

Here is the call graph for this function:

◆ V8B()

VRegister v8::internal::VRegister::V8B ( ) const
inline

Definition at line 366 of file register-arm64.h.

Here is the call graph for this function:

◆ V8H()

VRegister v8::internal::VRegister::V8H ( ) const
inline

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

Here is the call graph for this function:

◆ VRegFromCode()

VRegister v8::internal::VRegister::VRegFromCode ( unsigned code)
inlinestatic

Definition at line 142 of file assembler-arm64-inl.h.

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

Friends And Related Symbol Documentation

◆ RegisterBase

friend class RegisterBase
friend

Definition at line 194 of file register-riscv.h.

Member Data Documentation

◆ kMaxNumRegisters

int v8::internal::VRegister::kMaxNumRegisters = kNumberOfVRegisters
staticconstexpr

Definition at line 442 of file register-arm64.h.

◆ lane_count_

int8_t v8::internal::VRegister::lane_count_
private

Definition at line 451 of file register-arm64.h.


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