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

#include <live-object-range.h>

Collaboration diagram for v8::internal::LiveObjectRange::iterator:

Public Types

using value_type = std::pair<Tagged<HeapObject>, int >
 
using pointer = const value_type*
 
using reference = const value_type&
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 iterator ()
 
 iterator (const PageMetadata *page)
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
bool operator== (iterator other) const
 
bool operator!= (iterator other) const
 
value_type operator* ()
 

Private Member Functions

bool AdvanceToNextMarkedObject ()
 
void AdvanceToNextValidObject ()
 

Private Attributes

const PageMetadata *const page_ = nullptr
 
const MarkBit::CellType *const cells_ = nullptr
 
const PtrComprCageBase cage_base_
 
MarkingBitmap::CellIndex current_cell_index_ = 0
 
MarkingBitmap::CellType current_cell_ = 0
 
Tagged< HeapObjectcurrent_object_
 
Tagged< Mapcurrent_map_
 
int current_size_ = 0
 

Detailed Description

Definition at line 19 of file live-object-range.h.

Member Typedef Documentation

◆ iterator_category

Definition at line 24 of file live-object-range.h.

◆ pointer

◆ reference

◆ value_type

Definition at line 21 of file live-object-range.h.

Constructor & Destructor Documentation

◆ iterator() [1/2]

v8::internal::LiveObjectRange::iterator::iterator ( )
inline

Definition at line 17 of file live-object-range-inl.h.

◆ iterator() [2/2]

v8::internal::LiveObjectRange::iterator::iterator ( const PageMetadata * page)
inlineexplicit

Definition at line 19 of file live-object-range-inl.h.

Here is the call graph for this function:

Member Function Documentation

◆ AdvanceToNextMarkedObject()

bool v8::internal::LiveObjectRange::iterator::AdvanceToNextMarkedObject ( )
inlineprivate

Definition at line 53 of file live-object-range-inl.h.

Here is the call graph for this function:

◆ AdvanceToNextValidObject()

void v8::internal::LiveObjectRange::iterator::AdvanceToNextValidObject ( )
inlineprivate

Definition at line 40 of file live-object-range-inl.h.

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

◆ operator!=()

bool v8::internal::LiveObjectRange::iterator::operator!= ( iterator other) const
inline

Definition at line 35 of file live-object-range.h.

◆ operator*()

value_type v8::internal::LiveObjectRange::iterator::operator* ( )
inline

Definition at line 37 of file live-object-range.h.

◆ operator++() [1/2]

LiveObjectRange::iterator & v8::internal::LiveObjectRange::iterator::operator++ ( )
inline

Definition at line 29 of file live-object-range-inl.h.

◆ operator++() [2/2]

LiveObjectRange::iterator v8::internal::LiveObjectRange::iterator::operator++ ( int )
inline

Definition at line 34 of file live-object-range-inl.h.

◆ operator==()

bool v8::internal::LiveObjectRange::iterator::operator== ( iterator other) const
inline

Definition at line 32 of file live-object-range.h.

Member Data Documentation

◆ cage_base_

const PtrComprCageBase v8::internal::LiveObjectRange::iterator::cage_base_
private

Definition at line 47 of file live-object-range.h.

◆ cells_

const MarkBit::CellType* const v8::internal::LiveObjectRange::iterator::cells_ = nullptr
private

Definition at line 46 of file live-object-range.h.

◆ current_cell_

MarkingBitmap::CellType v8::internal::LiveObjectRange::iterator::current_cell_ = 0
private

Definition at line 49 of file live-object-range.h.

◆ current_cell_index_

MarkingBitmap::CellIndex v8::internal::LiveObjectRange::iterator::current_cell_index_ = 0
private

Definition at line 48 of file live-object-range.h.

◆ current_map_

Tagged<Map> v8::internal::LiveObjectRange::iterator::current_map_
private

Definition at line 51 of file live-object-range.h.

◆ current_object_

Tagged<HeapObject> v8::internal::LiveObjectRange::iterator::current_object_
private

Definition at line 50 of file live-object-range.h.

◆ current_size_

int v8::internal::LiveObjectRange::iterator::current_size_ = 0
private

Definition at line 52 of file live-object-range.h.

◆ page_

const PageMetadata* const v8::internal::LiveObjectRange::iterator::page_ = nullptr
private

Definition at line 45 of file live-object-range.h.


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