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

#include <register-configuration.h>

Collaboration diagram for v8::internal::RegisterConfiguration:

Public Member Functions

 RegisterConfiguration (AliasingKind fp_aliasing_kind, int num_general_registers, int num_double_registers, int num_simd128_registers, int num_simd256_registers, int num_allocatable_general_registers, int num_allocatable_double_registers, int num_allocatable_simd128_registers, int num_allocatable_simd256_registers, const int *allocatable_general_codes, const int *allocatable_double_codes, const int *independent_allocatable_simd128_codes=nullptr)
 
int num_general_registers () const
 
int num_float_registers () const
 
int num_double_registers () const
 
int num_simd128_registers () const
 
int num_simd256_registers () const
 
int num_allocatable_general_registers () const
 
int num_allocatable_float_registers () const
 
int num_allocatable_double_registers () const
 
int num_allocatable_simd128_registers () const
 
int num_allocatable_simd256_registers () const
 
AliasingKind fp_aliasing_kind () const
 
int32_t allocatable_general_codes_mask () const
 
int32_t allocatable_double_codes_mask () const
 
int32_t allocatable_float_codes_mask () const
 
int32_t allocatable_simd128_codes_mask () const
 
int GetAllocatableGeneralCode (int index) const
 
bool IsAllocatableGeneralCode (int index) const
 
int GetAllocatableFloatCode (int index) const
 
bool IsAllocatableFloatCode (int index) const
 
int GetAllocatableDoubleCode (int index) const
 
bool IsAllocatableDoubleCode (int index) const
 
int GetAllocatableSimd128Code (int index) const
 
bool IsAllocatableSimd128Code (int index) const
 
int GetAllocatableSimd256Code (int index) const
 
bool IsAllocatableSimd256Code (int index) const
 
const int * allocatable_general_codes () const
 
const int * allocatable_float_codes () const
 
const int * allocatable_double_codes () const
 
const int * allocatable_simd128_codes () const
 
const int * allocatable_simd256_codes () const
 
int GetAliases (MachineRepresentation rep, int index, MachineRepresentation other_rep, int *alias_base_index) const
 
bool AreAliases (MachineRepresentation rep, int index, MachineRepresentation other_rep, int other_index) const
 
virtual ~RegisterConfiguration ()=default
 

Static Public Member Functions

static const RegisterConfigurationDefault ()
 
static const RegisterConfigurationPoisoning ()
 
static const RegisterConfigurationRestrictGeneralRegisters (RegList registers)
 

Static Public Attributes

static constexpr int kMaxGeneralRegisters = 32
 
static constexpr int kMaxFPRegisters = 32
 
static constexpr int kMaxRegisters
 

Private Attributes

const int num_general_registers_
 
int num_float_registers_
 
const int num_double_registers_
 
int num_simd128_registers_
 
int num_simd256_registers_
 
int num_allocatable_general_registers_
 
int num_allocatable_float_registers_
 
int num_allocatable_double_registers_
 
int num_allocatable_simd128_registers_
 
int num_allocatable_simd256_registers_
 
int32_t allocatable_general_codes_mask_
 
int32_t allocatable_float_codes_mask_
 
int32_t allocatable_double_codes_mask_
 
int32_t allocatable_simd128_codes_mask_
 
int32_t allocatable_simd256_codes_mask_
 
const int * allocatable_general_codes_
 
int allocatable_float_codes_ [kMaxFPRegisters]
 
const int * allocatable_double_codes_
 
int allocatable_simd128_codes_ [kMaxFPRegisters]
 
int allocatable_simd256_codes_ [kMaxFPRegisters]
 
AliasingKind fp_aliasing_kind_
 

Detailed Description

Definition at line 17 of file register-configuration.h.

Constructor & Destructor Documentation

◆ RegisterConfiguration()

v8::internal::RegisterConfiguration::RegisterConfiguration ( AliasingKind fp_aliasing_kind,
int num_general_registers,
int num_double_registers,
int num_simd128_registers,
int num_simd256_registers,
int num_allocatable_general_registers,
int num_allocatable_double_registers,
int num_allocatable_simd128_registers,
int num_allocatable_simd256_registers,
const int * allocatable_general_codes,
const int * allocatable_double_codes,
const int * independent_allocatable_simd128_codes = nullptr )

Definition at line 229 of file register-configuration.cc.

Here is the call graph for this function:

◆ ~RegisterConfiguration()

virtual v8::internal::RegisterConfiguration::~RegisterConfiguration ( )
virtualdefault

Member Function Documentation

◆ allocatable_double_codes()

const int * v8::internal::RegisterConfiguration::allocatable_double_codes ( ) const
inline

Definition at line 123 of file register-configuration.h.

Here is the caller graph for this function:

◆ allocatable_double_codes_mask()

int32_t v8::internal::RegisterConfiguration::allocatable_double_codes_mask ( ) const
inline

Definition at line 72 of file register-configuration.h.

◆ allocatable_float_codes()

const int * v8::internal::RegisterConfiguration::allocatable_float_codes ( ) const
inline

Definition at line 120 of file register-configuration.h.

◆ allocatable_float_codes_mask()

int32_t v8::internal::RegisterConfiguration::allocatable_float_codes_mask ( ) const
inline

Definition at line 75 of file register-configuration.h.

◆ allocatable_general_codes()

const int * v8::internal::RegisterConfiguration::allocatable_general_codes ( ) const
inline

Definition at line 117 of file register-configuration.h.

Here is the caller graph for this function:

◆ allocatable_general_codes_mask()

int32_t v8::internal::RegisterConfiguration::allocatable_general_codes_mask ( ) const
inline

Definition at line 69 of file register-configuration.h.

◆ allocatable_simd128_codes()

const int * v8::internal::RegisterConfiguration::allocatable_simd128_codes ( ) const
inline

Definition at line 126 of file register-configuration.h.

Here is the caller graph for this function:

◆ allocatable_simd128_codes_mask()

int32_t v8::internal::RegisterConfiguration::allocatable_simd128_codes_mask ( ) const
inline

Definition at line 78 of file register-configuration.h.

◆ allocatable_simd256_codes()

const int * v8::internal::RegisterConfiguration::allocatable_simd256_codes ( ) const
inline

Definition at line 129 of file register-configuration.h.

◆ AreAliases()

bool v8::internal::RegisterConfiguration::AreAliases ( MachineRepresentation rep,
int index,
MachineRepresentation other_rep,
int other_index ) const

Definition at line 362 of file register-configuration.cc.

Here is the call graph for this function:

◆ Default()

const RegisterConfiguration * v8::internal::RegisterConfiguration::Default ( )
static

Definition at line 205 of file register-configuration.cc.

Here is the caller graph for this function:

◆ fp_aliasing_kind()

AliasingKind v8::internal::RegisterConfiguration::fp_aliasing_kind ( ) const
inline

Definition at line 68 of file register-configuration.h.

◆ GetAliases()

int v8::internal::RegisterConfiguration::GetAliases ( MachineRepresentation rep,
int index,
MachineRepresentation other_rep,
int * alias_base_index ) const

Definition at line 336 of file register-configuration.cc.

Here is the call graph for this function:

◆ GetAllocatableDoubleCode()

int v8::internal::RegisterConfiguration::GetAllocatableDoubleCode ( int index) const
inline

Definition at line 95 of file register-configuration.h.

◆ GetAllocatableFloatCode()

int v8::internal::RegisterConfiguration::GetAllocatableFloatCode ( int index) const
inline

Definition at line 88 of file register-configuration.h.

◆ GetAllocatableGeneralCode()

int v8::internal::RegisterConfiguration::GetAllocatableGeneralCode ( int index) const
inline

Definition at line 81 of file register-configuration.h.

Here is the caller graph for this function:

◆ GetAllocatableSimd128Code()

int v8::internal::RegisterConfiguration::GetAllocatableSimd128Code ( int index) const
inline

Definition at line 102 of file register-configuration.h.

◆ GetAllocatableSimd256Code()

int v8::internal::RegisterConfiguration::GetAllocatableSimd256Code ( int index) const
inline

Definition at line 109 of file register-configuration.h.

◆ IsAllocatableDoubleCode()

bool v8::internal::RegisterConfiguration::IsAllocatableDoubleCode ( int index) const
inline

Definition at line 99 of file register-configuration.h.

◆ IsAllocatableFloatCode()

bool v8::internal::RegisterConfiguration::IsAllocatableFloatCode ( int index) const
inline

Definition at line 92 of file register-configuration.h.

◆ IsAllocatableGeneralCode()

bool v8::internal::RegisterConfiguration::IsAllocatableGeneralCode ( int index) const
inline

Definition at line 85 of file register-configuration.h.

◆ IsAllocatableSimd128Code()

bool v8::internal::RegisterConfiguration::IsAllocatableSimd128Code ( int index) const
inline

Definition at line 106 of file register-configuration.h.

◆ IsAllocatableSimd256Code()

bool v8::internal::RegisterConfiguration::IsAllocatableSimd256Code ( int index) const
inline

Definition at line 113 of file register-configuration.h.

◆ num_allocatable_double_registers()

int v8::internal::RegisterConfiguration::num_allocatable_double_registers ( ) const
inline

Definition at line 58 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_allocatable_float_registers()

int v8::internal::RegisterConfiguration::num_allocatable_float_registers ( ) const
inline

Definition at line 52 of file register-configuration.h.

◆ num_allocatable_general_registers()

int v8::internal::RegisterConfiguration::num_allocatable_general_registers ( ) const
inline

Definition at line 49 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_allocatable_simd128_registers()

int v8::internal::RegisterConfiguration::num_allocatable_simd128_registers ( ) const
inline

Definition at line 61 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_allocatable_simd256_registers()

int v8::internal::RegisterConfiguration::num_allocatable_simd256_registers ( ) const
inline

Definition at line 64 of file register-configuration.h.

◆ num_double_registers()

int v8::internal::RegisterConfiguration::num_double_registers ( ) const
inline

Definition at line 46 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_float_registers()

int v8::internal::RegisterConfiguration::num_float_registers ( ) const
inline

Definition at line 45 of file register-configuration.h.

◆ num_general_registers()

int v8::internal::RegisterConfiguration::num_general_registers ( ) const
inline

Definition at line 44 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_simd128_registers()

int v8::internal::RegisterConfiguration::num_simd128_registers ( ) const
inline

Definition at line 47 of file register-configuration.h.

Here is the caller graph for this function:

◆ num_simd256_registers()

int v8::internal::RegisterConfiguration::num_simd256_registers ( ) const
inline

Definition at line 48 of file register-configuration.h.

◆ Poisoning()

static const RegisterConfiguration * v8::internal::RegisterConfiguration::Poisoning ( )
static

◆ RestrictGeneralRegisters()

const RegisterConfiguration * v8::internal::RegisterConfiguration::RestrictGeneralRegisters ( RegList registers)
static

Definition at line 209 of file register-configuration.cc.

Here is the call graph for this function:

Member Data Documentation

◆ allocatable_double_codes_

const int* v8::internal::RegisterConfiguration::allocatable_double_codes_
private

Definition at line 165 of file register-configuration.h.

◆ allocatable_double_codes_mask_

int32_t v8::internal::RegisterConfiguration::allocatable_double_codes_mask_
private

Definition at line 160 of file register-configuration.h.

◆ allocatable_float_codes_

int v8::internal::RegisterConfiguration::allocatable_float_codes_[kMaxFPRegisters]
private

Definition at line 164 of file register-configuration.h.

◆ allocatable_float_codes_mask_

int32_t v8::internal::RegisterConfiguration::allocatable_float_codes_mask_
private

Definition at line 159 of file register-configuration.h.

◆ allocatable_general_codes_

const int* v8::internal::RegisterConfiguration::allocatable_general_codes_
private

Definition at line 163 of file register-configuration.h.

◆ allocatable_general_codes_mask_

int32_t v8::internal::RegisterConfiguration::allocatable_general_codes_mask_
private

Definition at line 158 of file register-configuration.h.

◆ allocatable_simd128_codes_

int v8::internal::RegisterConfiguration::allocatable_simd128_codes_[kMaxFPRegisters]
private

Definition at line 166 of file register-configuration.h.

◆ allocatable_simd128_codes_mask_

int32_t v8::internal::RegisterConfiguration::allocatable_simd128_codes_mask_
private

Definition at line 161 of file register-configuration.h.

◆ allocatable_simd256_codes_

int v8::internal::RegisterConfiguration::allocatable_simd256_codes_[kMaxFPRegisters]
private

Definition at line 167 of file register-configuration.h.

◆ allocatable_simd256_codes_mask_

int32_t v8::internal::RegisterConfiguration::allocatable_simd256_codes_mask_
private

Definition at line 162 of file register-configuration.h.

◆ fp_aliasing_kind_

AliasingKind v8::internal::RegisterConfiguration::fp_aliasing_kind_
private

Definition at line 168 of file register-configuration.h.

◆ kMaxFPRegisters

int v8::internal::RegisterConfiguration::kMaxFPRegisters = 32
staticconstexpr

Definition at line 21 of file register-configuration.h.

◆ kMaxGeneralRegisters

int v8::internal::RegisterConfiguration::kMaxGeneralRegisters = 32
staticconstexpr

Definition at line 20 of file register-configuration.h.

◆ kMaxRegisters

int v8::internal::RegisterConfiguration::kMaxRegisters
staticconstexpr
Initial value:

Definition at line 22 of file register-configuration.h.

◆ num_allocatable_double_registers_

int v8::internal::RegisterConfiguration::num_allocatable_double_registers_
private

Definition at line 155 of file register-configuration.h.

◆ num_allocatable_float_registers_

int v8::internal::RegisterConfiguration::num_allocatable_float_registers_
private

Definition at line 154 of file register-configuration.h.

◆ num_allocatable_general_registers_

int v8::internal::RegisterConfiguration::num_allocatable_general_registers_
private

Definition at line 153 of file register-configuration.h.

◆ num_allocatable_simd128_registers_

int v8::internal::RegisterConfiguration::num_allocatable_simd128_registers_
private

Definition at line 156 of file register-configuration.h.

◆ num_allocatable_simd256_registers_

int v8::internal::RegisterConfiguration::num_allocatable_simd256_registers_
private

Definition at line 157 of file register-configuration.h.

◆ num_double_registers_

const int v8::internal::RegisterConfiguration::num_double_registers_
private

Definition at line 150 of file register-configuration.h.

◆ num_float_registers_

int v8::internal::RegisterConfiguration::num_float_registers_
private

Definition at line 149 of file register-configuration.h.

◆ num_general_registers_

const int v8::internal::RegisterConfiguration::num_general_registers_
private

Definition at line 148 of file register-configuration.h.

◆ num_simd128_registers_

int v8::internal::RegisterConfiguration::num_simd128_registers_
private

Definition at line 151 of file register-configuration.h.

◆ num_simd256_registers_

int v8::internal::RegisterConfiguration::num_simd256_registers_
private

Definition at line 152 of file register-configuration.h.


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