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

#include <reglist-base.h>

Collaboration diagram for v8::internal::RegListBase< RegisterT >:

Classes

class  Iterator
 
class  ReverseIterator
 

Public Types

using storage_t = num_registers_sized_storage_t
 

Public Member Functions

constexpr RegListBase ()=default
 
constexpr RegListBase (std::initializer_list< RegisterT > regs)
 
constexpr void set (RegisterT reg)
 
constexpr void clear (RegisterT reg)
 
constexpr bool has (RegisterT reg) const
 
constexpr void clear (RegListBase other)
 
constexpr bool is_empty () const
 
constexpr unsigned Count () const
 
constexpr RegListBase operator& (const RegListBase other) const
 
constexpr RegListBase operator| (const RegListBase other) const
 
constexpr RegListBase operator^ (const RegListBase other) const
 
constexpr RegListBase operator- (const RegListBase other) const
 
constexpr RegListBase operator| (const RegisterT reg) const
 
constexpr RegListBase operator- (const RegisterT reg) const
 
constexpr RegListBaseoperator&= (const RegListBase other)
 
constexpr RegListBaseoperator|= (const RegListBase other)
 
constexpr bool operator== (const RegListBase other) const
 
constexpr bool operator!= (const RegListBase other) const
 
constexpr RegisterT first () const
 
constexpr RegisterT last () const
 
constexpr RegisterT PopFirst ()
 
constexpr storage_t bits () const
 
Iterator begin () const
 
Iterator end () const
 
ReverseIterator rbegin () const
 
ReverseIterator rend () const
 

Static Public Member Functions

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

Private Types

using num_registers_sized_storage_t
 

Private Member Functions

constexpr RegListBase (storage_t bits)
 

Private Attributes

storage_t regs_ = 0
 

Detailed Description

template<typename RegisterT>
class v8::internal::RegListBase< RegisterT >

Definition at line 21 of file reglist-base.h.

Member Typedef Documentation

◆ num_registers_sized_storage_t

template<typename RegisterT >
using v8::internal::RegListBase< RegisterT >::num_registers_sized_storage_t
private
Initial value:
typename std::conditional<
RegisterT::kNumRegisters <= 16, uint16_t,
typename std::conditional<RegisterT::kNumRegisters <= 32, uint32_t,
uint64_t>::type>::type

Definition at line 22 of file reglist-base.h.

◆ storage_t

template<typename RegisterT >
using v8::internal::RegListBase< RegisterT >::storage_t = num_registers_sized_storage_t

Definition at line 38 of file reglist-base.h.

Constructor & Destructor Documentation

◆ RegListBase() [1/3]

template<typename RegisterT >
v8::internal::RegListBase< RegisterT >::RegListBase ( )
constexprdefault
Here is the caller graph for this function:

◆ RegListBase() [2/3]

template<typename RegisterT >
v8::internal::RegListBase< RegisterT >::RegListBase ( std::initializer_list< RegisterT > regs)
inlineconstexpr

Definition at line 42 of file reglist-base.h.

Here is the call graph for this function:

◆ RegListBase() [3/3]

template<typename RegisterT >
v8::internal::RegListBase< RegisterT >::RegListBase ( storage_t bits)
inlineexplicitconstexprprivate

Definition at line 148 of file reglist-base.h.

Member Function Documentation

◆ begin()

template<typename RegisterT >
RegListBase< RegisterT >::Iterator v8::internal::RegListBase< RegisterT >::begin ( ) const
inline

Definition at line 197 of file reglist-base.h.

◆ bits()

template<typename RegisterT >
storage_t v8::internal::RegListBase< RegisterT >::bits ( ) const
inlineconstexpr

Definition at line 131 of file reglist-base.h.

Here is the caller graph for this function:

◆ clear() [1/2]

template<typename RegisterT >
void v8::internal::RegListBase< RegisterT >::clear ( RegisterT reg)
inlineconstexpr

Definition at line 53 of file reglist-base.h.

Here is the caller graph for this function:

◆ clear() [2/2]

template<typename RegisterT >
void v8::internal::RegListBase< RegisterT >::clear ( RegListBase< RegisterT > other)
inlineconstexpr

Definition at line 63 of file reglist-base.h.

◆ Count()

template<typename RegisterT >
unsigned v8::internal::RegListBase< RegisterT >::Count ( ) const
inlineconstexpr

Definition at line 67 of file reglist-base.h.

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

◆ end()

template<typename RegisterT >
RegListBase< RegisterT >::Iterator v8::internal::RegListBase< RegisterT >::end ( ) const
inline

Definition at line 202 of file reglist-base.h.

◆ first()

template<typename RegisterT >
RegisterT v8::internal::RegListBase< RegisterT >::first ( ) const
inlineconstexpr

Definition at line 112 of file reglist-base.h.

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

◆ FromBits() [1/2]

template<typename RegisterT >
template<storage_t bits>
static constexpr RegListBase v8::internal::RegListBase< RegisterT >::FromBits ( )
inlinestaticconstexpr

Definition at line 142 of file reglist-base.h.

◆ FromBits() [2/2]

template<typename RegisterT >
static RegListBase v8::internal::RegListBase< RegisterT >::FromBits ( storage_t bits)
inlinestatic

Definition at line 139 of file reglist-base.h.

Here is the call graph for this function:

◆ has()

template<typename RegisterT >
bool v8::internal::RegListBase< RegisterT >::has ( RegisterT reg) const
inlineconstexpr

Definition at line 58 of file reglist-base.h.

Here is the caller graph for this function:

◆ is_empty()

template<typename RegisterT >
bool v8::internal::RegListBase< RegisterT >::is_empty ( ) const
inlineconstexpr

Definition at line 65 of file reglist-base.h.

Here is the caller graph for this function:

◆ last()

template<typename RegisterT >
RegisterT v8::internal::RegListBase< RegisterT >::last ( ) const
inlineconstexpr

Definition at line 118 of file reglist-base.h.

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

◆ operator!=()

template<typename RegisterT >
bool v8::internal::RegListBase< RegisterT >::operator!= ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 108 of file reglist-base.h.

◆ operator&()

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator& ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 71 of file reglist-base.h.

Here is the call graph for this function:

◆ operator&=()

template<typename RegisterT >
RegListBase & v8::internal::RegListBase< RegisterT >::operator&= ( const RegListBase< RegisterT > other)
inlineconstexpr

Definition at line 95 of file reglist-base.h.

◆ operator-() [1/2]

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator- ( const RegisterT reg) const
inlineconstexpr

Definition at line 91 of file reglist-base.h.

◆ operator-() [2/2]

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator- ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 83 of file reglist-base.h.

Here is the call graph for this function:

◆ operator==()

template<typename RegisterT >
bool v8::internal::RegListBase< RegisterT >::operator== ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 105 of file reglist-base.h.

◆ operator^()

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator^ ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 79 of file reglist-base.h.

Here is the call graph for this function:

◆ operator|() [1/2]

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator| ( const RegisterT reg) const
inlineconstexpr

Definition at line 87 of file reglist-base.h.

◆ operator|() [2/2]

template<typename RegisterT >
RegListBase v8::internal::RegListBase< RegisterT >::operator| ( const RegListBase< RegisterT > other) const
inlineconstexpr

Definition at line 75 of file reglist-base.h.

Here is the call graph for this function:

◆ operator|=()

template<typename RegisterT >
RegListBase & v8::internal::RegListBase< RegisterT >::operator|= ( const RegListBase< RegisterT > other)
inlineconstexpr

Definition at line 100 of file reglist-base.h.

◆ PopFirst()

template<typename RegisterT >
RegisterT v8::internal::RegListBase< RegisterT >::PopFirst ( )
inlineconstexpr

Definition at line 125 of file reglist-base.h.

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

◆ rbegin()

template<typename RegisterT >
RegListBase< RegisterT >::ReverseIterator v8::internal::RegListBase< RegisterT >::rbegin ( ) const
inline

Definition at line 208 of file reglist-base.h.

◆ rend()

template<typename RegisterT >
RegListBase< RegisterT >::ReverseIterator v8::internal::RegListBase< RegisterT >::rend ( ) const
inline

Definition at line 212 of file reglist-base.h.

◆ set()

template<typename RegisterT >
void v8::internal::RegListBase< RegisterT >::set ( RegisterT reg)
inlineconstexpr

Definition at line 48 of file reglist-base.h.

Here is the caller graph for this function:

Member Data Documentation

◆ regs_

template<typename RegisterT >
storage_t v8::internal::RegListBase< RegisterT >::regs_ = 0
private

Definition at line 150 of file reglist-base.h.


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