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

#include <sparse-bit-vector.h>

Inheritance diagram for v8::internal::SparseBitVector:
Collaboration diagram for v8::internal::SparseBitVector:

Classes

class  Iterator
 
struct  Segment
 

Public Member Functions

 MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR (SparseBitVector)
 
 SparseBitVector (Zone *zone)
 
V8_INLINE bool Contains (int i) const
 
V8_INLINE void Add (int i)
 
V8_INLINE void Remove (int i)
 
void Union (const SparseBitVector &other)
 
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
 

Private Member Functions

V8_NOINLINE void InsertBitAfter (Segment *segment, int i)
 
V8_NOINLINE void InsertSegmentAfter (Segment *segment, Segment *new_segment)
 
V8_WARN_UNUSED_RESULT bool CheckConsistency (const Segment *segment)
 

Static Private Member Functions

static std::pair< int, int > GetWordAndBitInWord (const Segment *segment, int i)
 
static bool contains (const Segment *segment, int i)
 
static bool set (Segment *segment, int i)
 
static bool unset (Segment *segment, int i)
 
static void insert_after (Segment *segment, Segment *new_next)
 

Private Attributes

Segment first_segment_
 
Zonezone_
 

Static Private Attributes

static constexpr int kNumWordsPerSegment = 6
 
static constexpr int kBitsPerWord = kBitsPerByte * kSystemPointerSize
 
static constexpr int kNumBitsPerSegment = kBitsPerWord * kNumWordsPerSegment
 

Detailed Description

Definition at line 18 of file sparse-bit-vector.h.

Constructor & Destructor Documentation

◆ SparseBitVector()

v8::internal::SparseBitVector::SparseBitVector ( Zone * zone)
inlineexplicit

Definition at line 121 of file sparse-bit-vector.h.

Member Function Documentation

◆ Add()

V8_INLINE void v8::internal::SparseBitVector::Add ( int i)
inline

Definition at line 137 of file sparse-bit-vector.h.

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

◆ begin()

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

Definition at line 200 of file sparse-bit-vector.h.

◆ CheckConsistency()

V8_WARN_UNUSED_RESULT bool v8::internal::SparseBitVector::CheckConsistency ( const Segment * segment)
inlineprivate

Definition at line 250 of file sparse-bit-vector.h.

Here is the caller graph for this function:

◆ Contains()

V8_INLINE bool v8::internal::SparseBitVector::Contains ( int i) const
inline

Definition at line 123 of file sparse-bit-vector.h.

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

◆ contains()

static bool v8::internal::SparseBitVector::contains ( const Segment * segment,
int i )
inlinestaticprivate

Definition at line 228 of file sparse-bit-vector.h.

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

◆ end()

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

Definition at line 201 of file sparse-bit-vector.h.

◆ GetWordAndBitInWord()

static std::pair< int, int > v8::internal::SparseBitVector::GetWordAndBitInWord ( const Segment * segment,
int i )
inlinestaticprivate

Definition at line 204 of file sparse-bit-vector.h.

Here is the caller graph for this function:

◆ insert_after()

static void v8::internal::SparseBitVector::insert_after ( Segment * segment,
Segment * new_next )
inlinestaticprivate

Definition at line 243 of file sparse-bit-vector.h.

Here is the caller graph for this function:

◆ InsertBitAfter()

V8_NOINLINE void v8::internal::SparseBitVector::InsertBitAfter ( Segment * segment,
int i )
inlineprivate

Definition at line 212 of file sparse-bit-vector.h.

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

◆ InsertSegmentAfter()

V8_NOINLINE void v8::internal::SparseBitVector::InsertSegmentAfter ( Segment * segment,
Segment * new_segment )
inlineprivate

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

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

◆ MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR()

v8::internal::SparseBitVector::MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR ( SparseBitVector )

◆ Remove()

V8_INLINE void v8::internal::SparseBitVector::Remove ( int i)
inline

Definition at line 153 of file sparse-bit-vector.h.

Here is the call graph for this function:

◆ set()

static bool v8::internal::SparseBitVector::set ( Segment * segment,
int i )
inlinestaticprivate

Definition at line 233 of file sparse-bit-vector.h.

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

◆ Union()

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

Definition at line 167 of file sparse-bit-vector.h.

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

◆ unset()

static bool v8::internal::SparseBitVector::unset ( Segment * segment,
int i )
inlinestaticprivate

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

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

Member Data Documentation

◆ first_segment_

Segment v8::internal::SparseBitVector::first_segment_
private

Definition at line 256 of file sparse-bit-vector.h.

◆ kBitsPerWord

int v8::internal::SparseBitVector::kBitsPerWord = kBitsPerByte * kSystemPointerSize
staticconstexprprivate

Definition at line 22 of file sparse-bit-vector.h.

◆ kNumBitsPerSegment

int v8::internal::SparseBitVector::kNumBitsPerSegment = kBitsPerWord * kNumWordsPerSegment
staticconstexprprivate

Definition at line 23 of file sparse-bit-vector.h.

◆ kNumWordsPerSegment

int v8::internal::SparseBitVector::kNumWordsPerSegment = 6
staticconstexprprivate

Definition at line 21 of file sparse-bit-vector.h.

◆ zone_

Zone* v8::internal::SparseBitVector::zone_
private

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


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