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

#include <bit-vector.h>

Inheritance diagram for v8::internal::BitVector:
Collaboration diagram for v8::internal::BitVector:

Classes

union  DataStorage
 
class  Iterator
 

Public Member Functions

 BitVector ()=default
 
 BitVector (int length, Zone *zone)
 
 BitVector (const BitVector &other, Zone *zone)
 
 BitVector (const BitVector &)=delete
 
BitVectoroperator= (const BitVector &)=delete
 
 BitVector (BitVector &&other) V8_NOEXCEPT
 
BitVectoroperator= (BitVector &&other) V8_NOEXCEPT
 
void CopyFrom (const BitVector &other)
 
void Resize (int new_length, Zone *zone)
 
bool Contains (int i) const
 
void Add (int i)
 
void AddAll ()
 
void Remove (int i)
 
void Union (const BitVector &other)
 
bool UnionIsChanged (const BitVector &other)
 
void Intersect (const BitVector &other)
 
bool IntersectIsChanged (const BitVector &other)
 
void Subtract (const BitVector &other)
 
void Clear ()
 
bool IsEmpty () const
 
bool Equals (const BitVector &other) const
 
int Count () const
 
int length () const
 
Iterator begin () const
 
Iterator end () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Static Public Attributes

static constexpr int kDataBits = kBitsPerSystemPointer
 
static constexpr int kDataBitShift = kBitsPerSystemPointerLog2
 

Private Member Functions

bool is_inline () const
 
int data_length () const
 

Static Private Member Functions

static V8_INLINE int word (int index)
 
static V8_INLINE uintptr_t bit (int index)
 

Private Attributes

int length_ = 0
 
DataStorage data_ {0}
 
uintptr_t * data_begin_ = &data_.inline_
 
uintptr_t * data_end_ = &data_.inline_ + 1
 

Detailed Description

Definition at line 16 of file bit-vector.h.

Constructor & Destructor Documentation

◆ BitVector() [1/5]

v8::internal::BitVector::BitVector ( )
default

◆ BitVector() [2/5]

v8::internal::BitVector::BitVector ( int length,
Zone * zone )
inline

Definition at line 109 of file bit-vector.h.

Here is the call graph for this function:

◆ BitVector() [3/5]

v8::internal::BitVector::BitVector ( const BitVector & other,
Zone * zone )
inline

Definition at line 120 of file bit-vector.h.

◆ BitVector() [4/5]

v8::internal::BitVector::BitVector ( const BitVector & )
delete

◆ BitVector() [5/5]

v8::internal::BitVector::BitVector ( BitVector && other)
inline

Definition at line 136 of file bit-vector.h.

Member Function Documentation

◆ Add()

void v8::internal::BitVector::Add ( int i)
inline

Definition at line 185 of file bit-vector.h.

Here is the caller graph for this function:

◆ AddAll()

void v8::internal::BitVector::AddAll ( )
inline

Definition at line 190 of file bit-vector.h.

Here is the caller graph for this function:

◆ begin()

Iterator v8::internal::BitVector::begin ( ) const
inline

Definition at line 259 of file bit-vector.h.

Here is the caller graph for this function:

◆ bit()

static V8_INLINE uintptr_t v8::internal::BitVector::bit ( int index)
inlinestaticprivate

Definition at line 282 of file bit-vector.h.

◆ Clear()

void v8::internal::BitVector::Clear ( )
inline

Definition at line 245 of file bit-vector.h.

Here is the caller graph for this function:

◆ Contains()

bool v8::internal::BitVector::Contains ( int i) const
inline

Definition at line 180 of file bit-vector.h.

Here is the caller graph for this function:

◆ CopyFrom()

void v8::internal::BitVector::CopyFrom ( const BitVector & other)
inline

Definition at line 155 of file bit-vector.h.

Here is the caller graph for this function:

◆ Count()

int v8::internal::BitVector::Count ( ) const

Definition at line 30 of file bit-vector.cc.

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

◆ data_length()

int v8::internal::BitVector::data_length ( ) const
inlineprivate

Definition at line 276 of file bit-vector.h.

◆ end()

Iterator v8::internal::BitVector::end ( ) const
inline

Definition at line 261 of file bit-vector.h.

Here is the caller graph for this function:

◆ Equals()

bool v8::internal::BitVector::Equals ( const BitVector & other) const
inline

Definition at line 251 of file bit-vector.h.

Here is the caller graph for this function:

◆ Intersect()

void v8::internal::BitVector::Intersect ( const BitVector & other)
inline

Definition at line 220 of file bit-vector.h.

◆ IntersectIsChanged()

bool v8::internal::BitVector::IntersectIsChanged ( const BitVector & other)
inline

Definition at line 227 of file bit-vector.h.

Here is the caller graph for this function:

◆ is_inline()

bool v8::internal::BitVector::is_inline ( ) const
inlineprivate

Definition at line 275 of file bit-vector.h.

◆ IsEmpty()

bool v8::internal::BitVector::IsEmpty ( ) const
inline

Definition at line 247 of file bit-vector.h.

Here is the caller graph for this function:

◆ length()

int v8::internal::BitVector::length ( ) const
inline

Definition at line 257 of file bit-vector.h.

Here is the caller graph for this function:

◆ operator=() [1/2]

BitVector & v8::internal::BitVector::operator= ( BitVector && other)
inline

Definition at line 138 of file bit-vector.h.

◆ operator=() [2/2]

BitVector & v8::internal::BitVector::operator= ( const BitVector & )
delete

◆ Remove()

void v8::internal::BitVector::Remove ( int i)
inline

Definition at line 197 of file bit-vector.h.

Here is the caller graph for this function:

◆ Resize()

void v8::internal::BitVector::Resize ( int new_length,
Zone * zone )
inline

Definition at line 161 of file bit-vector.h.

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

◆ Subtract()

void v8::internal::BitVector::Subtract ( const BitVector & other)
inline

Definition at line 238 of file bit-vector.h.

◆ Union()

void v8::internal::BitVector::Union ( const BitVector & other)
inline

Definition at line 202 of file bit-vector.h.

Here is the caller graph for this function:

◆ UnionIsChanged()

bool v8::internal::BitVector::UnionIsChanged ( const BitVector & other)
inline

Definition at line 209 of file bit-vector.h.

Here is the caller graph for this function:

◆ word()

static V8_INLINE int v8::internal::BitVector::word ( int index)
inlinestaticprivate

Definition at line 278 of file bit-vector.h.

Here is the caller graph for this function:

Member Data Documentation

◆ data_

DataStorage v8::internal::BitVector::data_ {0}
private

Definition at line 287 of file bit-vector.h.

◆ data_begin_

uintptr_t* v8::internal::BitVector::data_begin_ = &data_.inline_
private

Definition at line 288 of file bit-vector.h.

◆ data_end_

uintptr_t* v8::internal::BitVector::data_end_ = &data_.inline_ + 1
private

Definition at line 289 of file bit-vector.h.

◆ kDataBits

int v8::internal::BitVector::kDataBits = kBitsPerSystemPointer
staticconstexpr

Definition at line 104 of file bit-vector.h.

◆ kDataBitShift

int v8::internal::BitVector::kDataBitShift = kBitsPerSystemPointerLog2
staticconstexpr

Definition at line 105 of file bit-vector.h.

◆ length_

int v8::internal::BitVector::length_ = 0
private

Definition at line 286 of file bit-vector.h.


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