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

#include <liftoff-register.h>

Collaboration diagram for v8::internal::wasm::LiftoffRegList:

Classes

class  Iterator
 

Public Types

using storage_t
 

Public Member Functions

constexpr LiftoffRegList ()=default
 
template<typename... Regs>
requires ( std::conjunction_v<std::disjunction< std::is_same<Register, Regs>, std::is_same<DoubleRegister, Regs>, std::is_same<LiftoffRegister, Regs>>...>)
constexpr LiftoffRegList (Regs... regs)
 
constexpr Register set (Register reg)
 
constexpr DoubleRegister set (DoubleRegister reg)
 
constexpr LiftoffRegister set (LiftoffRegister reg)
 
constexpr LiftoffRegister clear (LiftoffRegister reg)
 
constexpr Register clear (Register reg)
 
constexpr DoubleRegister clear (DoubleRegister reg)
 
bool has (LiftoffRegister reg) const
 
bool has (Register reg) const
 
bool has (DoubleRegister reg) const
 
constexpr bool is_empty () const
 
constexpr unsigned GetNumRegsSet () const
 
constexpr LiftoffRegList operator& (const LiftoffRegList other) const
 
constexpr LiftoffRegListoperator&= (const LiftoffRegList other)
 
constexpr LiftoffRegList operator| (const LiftoffRegList other) const
 
constexpr LiftoffRegListoperator|= (const LiftoffRegList other)
 
constexpr LiftoffRegList GetAdjacentFpRegsSet () const
 
constexpr bool HasAdjacentFpRegsSet () const
 
constexpr LiftoffRegList SpreadSetBitsToAdjacentFpRegs () const
 
constexpr bool operator== (const LiftoffRegList &) const =default
 
LiftoffRegister GetFirstRegSet () const
 
LiftoffRegister GetLastRegSet () const
 
LiftoffRegList MaskOut (const LiftoffRegList mask) const
 
RegList GetGpList ()
 
DoubleRegList GetFpList ()
 
Iterator begin () const
 
Iterator end () const
 

Static Public Member Functions

static constexpr LiftoffRegList FromBits (storage_t bits)
 
template<storage_t bits>
static constexpr LiftoffRegList FromBits ()
 

Static Public Attributes

static constexpr bool use_u16 = kAfterMaxLiftoffRegCode <= 16
 
static constexpr bool use_u32 = !use_u16 && kAfterMaxLiftoffRegCode <= 32
 
static constexpr storage_t kGpMask
 
static constexpr storage_t kFpMask
 
static constexpr uint64_t kEvenFpSetMask
 
static constexpr uint64_t kOddFpSetMask
 

Private Member Functions

constexpr LiftoffRegList (storage_t bits)
 

Private Attributes

storage_t regs_ = 0
 

Detailed Description

Definition at line 344 of file liftoff-register.h.

Member Typedef Documentation

◆ storage_t

Initial value:
std::conditional<
use_u16, uint16_t,
std::conditional<use_u32, uint32_t, uint64_t>::type>::type

Definition at line 350 of file liftoff-register.h.

Constructor & Destructor Documentation

◆ LiftoffRegList() [1/3]

v8::internal::wasm::LiftoffRegList::LiftoffRegList ( )
constexprdefault
Here is the caller graph for this function:

◆ LiftoffRegList() [2/3]

template<typename... Regs>
requires ( std::conjunction_v<std::disjunction< std::is_same<Register, Regs>, std::is_same<DoubleRegister, Regs>, std::is_same<LiftoffRegister, Regs>>...>)
v8::internal::wasm::LiftoffRegList::LiftoffRegList ( Regs... regs)
inlineexplicitconstexpr

Definition at line 370 of file liftoff-register.h.

Here is the call graph for this function:

◆ LiftoffRegList() [3/3]

v8::internal::wasm::LiftoffRegList::LiftoffRegList ( storage_t bits)
inlineexplicitconstexprprivate

Definition at line 514 of file liftoff-register.h.

Member Function Documentation

◆ begin()

LiftoffRegList::Iterator v8::internal::wasm::LiftoffRegList::begin ( ) const
inline

Definition at line 541 of file liftoff-register.h.

◆ clear() [1/3]

DoubleRegister v8::internal::wasm::LiftoffRegList::clear ( DoubleRegister reg)
inlineconstexpr

Definition at line 408 of file liftoff-register.h.

Here is the call graph for this function:

◆ clear() [2/3]

LiftoffRegister v8::internal::wasm::LiftoffRegList::clear ( LiftoffRegister reg)
inlineconstexpr

Definition at line 396 of file liftoff-register.h.

Here is the caller graph for this function:

◆ clear() [3/3]

Register v8::internal::wasm::LiftoffRegList::clear ( Register reg)
inlineconstexpr

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

Here is the call graph for this function:

◆ end()

LiftoffRegList::Iterator v8::internal::wasm::LiftoffRegList::end ( ) const
inline

Definition at line 544 of file liftoff-register.h.

◆ FromBits() [1/2]

template<storage_t bits>
static constexpr LiftoffRegList v8::internal::wasm::LiftoffRegList::FromBits ( )
inlinestaticconstexpr

Definition at line 503 of file liftoff-register.h.

Here is the caller graph for this function:

◆ FromBits() [2/2]

static constexpr LiftoffRegList v8::internal::wasm::LiftoffRegList::FromBits ( storage_t bits)
inlinestaticconstexpr

Definition at line 497 of file liftoff-register.h.

Here is the call graph for this function:

◆ GetAdjacentFpRegsSet()

LiftoffRegList v8::internal::wasm::LiftoffRegList::GetAdjacentFpRegsSet ( ) const
inlineconstexpr

Definition at line 446 of file liftoff-register.h.

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

◆ GetFirstRegSet()

LiftoffRegister v8::internal::wasm::LiftoffRegList::GetFirstRegSet ( ) const
inline

Definition at line 469 of file liftoff-register.h.

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

◆ GetFpList()

DoubleRegList v8::internal::wasm::LiftoffRegList::GetFpList ( )
inline

Definition at line 489 of file liftoff-register.h.

Here is the call graph for this function:

◆ GetGpList()

RegList v8::internal::wasm::LiftoffRegList::GetGpList ( )
inline

Definition at line 488 of file liftoff-register.h.

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

◆ GetLastRegSet()

LiftoffRegister v8::internal::wasm::LiftoffRegList::GetLastRegSet ( ) const
inline

Definition at line 475 of file liftoff-register.h.

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

◆ GetNumRegsSet()

unsigned v8::internal::wasm::LiftoffRegList::GetNumRegsSet ( ) const
inlineconstexpr

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

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

◆ has() [1/3]

bool v8::internal::wasm::LiftoffRegList::has ( DoubleRegister reg) const
inline

Definition at line 420 of file liftoff-register.h.

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

◆ has() [2/3]

bool v8::internal::wasm::LiftoffRegList::has ( LiftoffRegister reg) const
inline

Definition at line 412 of file liftoff-register.h.

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

◆ has() [3/3]

bool v8::internal::wasm::LiftoffRegList::has ( Register reg) const
inline

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

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

◆ HasAdjacentFpRegsSet()

bool v8::internal::wasm::LiftoffRegList::HasAdjacentFpRegsSet ( ) const
inlineconstexpr

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

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

◆ is_empty()

bool v8::internal::wasm::LiftoffRegList::is_empty ( ) const
inlineconstexpr

Definition at line 422 of file liftoff-register.h.

Here is the caller graph for this function:

◆ MaskOut()

LiftoffRegList v8::internal::wasm::LiftoffRegList::MaskOut ( const LiftoffRegList mask) const
inline

Definition at line 482 of file liftoff-register.h.

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

◆ operator&()

LiftoffRegList v8::internal::wasm::LiftoffRegList::operator& ( const LiftoffRegList other) const
inlineconstexpr

Definition at line 428 of file liftoff-register.h.

Here is the call graph for this function:

◆ operator&=()

LiftoffRegList & v8::internal::wasm::LiftoffRegList::operator&= ( const LiftoffRegList other)
inlineconstexpr

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

◆ operator==()

bool v8::internal::wasm::LiftoffRegList::operator== ( const LiftoffRegList & ) const
constexprdefault

◆ operator|()

LiftoffRegList v8::internal::wasm::LiftoffRegList::operator| ( const LiftoffRegList other) const
inlineconstexpr

Definition at line 437 of file liftoff-register.h.

Here is the call graph for this function:

◆ operator|=()

LiftoffRegList & v8::internal::wasm::LiftoffRegList::operator|= ( const LiftoffRegList other)
inlineconstexpr

Definition at line 441 of file liftoff-register.h.

◆ set() [1/3]

DoubleRegister v8::internal::wasm::LiftoffRegList::set ( DoubleRegister reg)
inlineconstexpr

Definition at line 382 of file liftoff-register.h.

Here is the call graph for this function:

◆ set() [2/3]

LiftoffRegister v8::internal::wasm::LiftoffRegList::set ( LiftoffRegister reg)
inlineconstexpr

Definition at line 386 of file liftoff-register.h.

◆ set() [3/3]

Register v8::internal::wasm::LiftoffRegList::set ( Register reg)
inlineconstexpr

Definition at line 379 of file liftoff-register.h.

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

◆ SpreadSetBitsToAdjacentFpRegs()

LiftoffRegList v8::internal::wasm::LiftoffRegList::SpreadSetBitsToAdjacentFpRegs ( ) const
inlineconstexpr

Definition at line 460 of file liftoff-register.h.

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

Member Data Documentation

◆ kEvenFpSetMask

uint64_t v8::internal::wasm::LiftoffRegList::kEvenFpSetMask
staticconstexpr
Initial value:
= uint64_t{0x5555555555555555}
static constexpr int kAfterMaxLiftoffGpRegCode

Definition at line 360 of file liftoff-register.h.

◆ kFpMask

storage_t v8::internal::wasm::LiftoffRegList::kFpMask
staticconstexpr
Initial value:
=
constexpr storage_t bits() const
std::conditional< use_u16, uint16_t, std::conditional< use_u32, uint32_t, uint64_t >::type >::type storage_t
constexpr DoubleRegList kLiftoffAssemblerFpCacheRegs

Definition at line 356 of file liftoff-register.h.

◆ kGpMask

storage_t v8::internal::wasm::LiftoffRegList::kGpMask
staticconstexpr
Initial value:

Definition at line 354 of file liftoff-register.h.

◆ kOddFpSetMask

uint64_t v8::internal::wasm::LiftoffRegList::kOddFpSetMask
staticconstexpr
Initial value:
= uint64_t{0xAAAAAAAAAAAAAAAA}

Definition at line 362 of file liftoff-register.h.

◆ regs_

storage_t v8::internal::wasm::LiftoffRegList::regs_ = 0
private

Definition at line 516 of file liftoff-register.h.

◆ use_u16

bool v8::internal::wasm::LiftoffRegList::use_u16 = kAfterMaxLiftoffRegCode <= 16
staticconstexpr

Definition at line 348 of file liftoff-register.h.

◆ use_u32

bool v8::internal::wasm::LiftoffRegList::use_u32 = !use_u16 && kAfterMaxLiftoffRegCode <= 32
staticconstexpr

Definition at line 349 of file liftoff-register.h.


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