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

#include <marking-worklist.h>

Collaboration diagram for v8::internal::MarkingWorklists::Local:

Public Member Functions

 Local (MarkingWorklists *global, std::unique_ptr< CppMarkingState > cpp_marking_state=kNoCppMarkingState)
 
 ~Local ()=default
 
void Push (Tagged< HeapObject > object)
 
bool Pop (Tagged< HeapObject > *object)
 
void PushOnHold (Tagged< HeapObject > object)
 
bool PopOnHold (Tagged< HeapObject > *object)
 
void Publish ()
 
bool IsEmpty ()
 
bool IsWrapperEmpty () const
 
void ShareWork ()
 
void PublishWork ()
 
void MergeOnHold ()
 
void PublishCppHeapObjects ()
 
Address Context () const
 
Address SwitchToContext (Address context)
 
bool IsPerContextMode () const
 
CppMarkingStatecpp_marking_state () const
 
Address SwitchToSharedForTesting ()
 

Static Public Attributes

static constexpr Address kSharedContext = MarkingWorklists::kSharedContext
 
static constexpr Address kOtherContext = MarkingWorklists::kOtherContext
 
static constexpr std::nullptr_t kNoCppMarkingState = nullptr
 

Private Member Functions

void SwitchToContextImpl (Address context, MarkingWorklist::Local *worklist)
 
bool PopContext (Tagged< HeapObject > *object)
 
Address SwitchToContextSlow (Address context)
 

Private Attributes

MarkingWorklist::Local * active_
 
MarkingWorklist::Local shared_
 
MarkingWorklist::Local on_hold_
 
Address active_context_
 
const bool is_per_context_mode_
 
std::vector< MarkingWorklist::Local > context_worklists_
 
AddressToIndexHashMap worklist_by_context_
 
MarkingWorklist::Local other_
 
std::unique_ptr< CppMarkingStatecpp_marking_state_
 

Detailed Description

Definition at line 132 of file marking-worklist.h.

Constructor & Destructor Documentation

◆ Local()

v8::internal::MarkingWorklists::Local::Local ( MarkingWorklists * global,
std::unique_ptr< CppMarkingState > cpp_marking_state = kNoCppMarkingState )
explicit

Definition at line 84 of file marking-worklist.cc.

Here is the call graph for this function:

◆ ~Local()

v8::internal::MarkingWorklists::Local::~Local ( )
default

Member Function Documentation

◆ Context()

Address v8::internal::MarkingWorklists::Local::Context ( ) const
inline

Definition at line 168 of file marking-worklist.h.

Here is the caller graph for this function:

◆ cpp_marking_state()

CppMarkingState * v8::internal::MarkingWorklists::Local::cpp_marking_state ( ) const
inline

Definition at line 172 of file marking-worklist.h.

Here is the caller graph for this function:

◆ IsEmpty()

bool v8::internal::MarkingWorklists::Local::IsEmpty ( )

Definition at line 118 of file marking-worklist.cc.

Here is the caller graph for this function:

◆ IsPerContextMode()

bool v8::internal::MarkingWorklists::Local::IsPerContextMode ( ) const
inline

Definition at line 170 of file marking-worklist.h.

Here is the caller graph for this function:

◆ IsWrapperEmpty()

bool v8::internal::MarkingWorklists::Local::IsWrapperEmpty ( ) const

Definition at line 144 of file marking-worklist.cc.

Here is the caller graph for this function:

◆ MergeOnHold()

void v8::internal::MarkingWorklists::Local::MergeOnHold ( )

Definition at line 164 of file marking-worklist.cc.

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

◆ Pop()

bool v8::internal::MarkingWorklists::Local::Pop ( Tagged< HeapObject > * object)
inline

Definition at line 24 of file marking-worklist-inl.h.

Here is the caller graph for this function:

◆ PopContext()

bool v8::internal::MarkingWorklists::Local::PopContext ( Tagged< HeapObject > * object)
private

Definition at line 166 of file marking-worklist.cc.

◆ PopOnHold()

bool v8::internal::MarkingWorklists::Local::PopOnHold ( Tagged< HeapObject > * object)
inline

Definition at line 36 of file marking-worklist-inl.h.

Here is the call graph for this function:

◆ Publish()

void v8::internal::MarkingWorklists::Local::Publish ( )

Definition at line 105 of file marking-worklist.cc.

Here is the caller graph for this function:

◆ PublishCppHeapObjects()

void v8::internal::MarkingWorklists::Local::PublishCppHeapObjects ( )
inline

Definition at line 51 of file marking-worklist-inl.h.

Here is the caller graph for this function:

◆ PublishWork()

void v8::internal::MarkingWorklists::Local::PublishWork ( )

Definition at line 159 of file marking-worklist.cc.

Here is the caller graph for this function:

◆ Push()

void v8::internal::MarkingWorklists::Local::Push ( Tagged< HeapObject > object)
inline

Definition at line 20 of file marking-worklist-inl.h.

Here is the caller graph for this function:

◆ PushOnHold()

void v8::internal::MarkingWorklists::Local::PushOnHold ( Tagged< HeapObject > object)
inline

Definition at line 32 of file marking-worklist-inl.h.

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

◆ ShareWork()

void v8::internal::MarkingWorklists::Local::ShareWork ( )

Definition at line 148 of file marking-worklist.cc.

Here is the caller graph for this function:

◆ SwitchToContext()

Address v8::internal::MarkingWorklists::Local::SwitchToContext ( Address context)
inline

Definition at line 40 of file marking-worklist-inl.h.

Here is the caller graph for this function:

◆ SwitchToContextImpl()

void v8::internal::MarkingWorklists::Local::SwitchToContextImpl ( Address context,
MarkingWorklist::Local * worklist )
inlineprivate

Definition at line 45 of file marking-worklist-inl.h.

◆ SwitchToContextSlow()

Address v8::internal::MarkingWorklists::Local::SwitchToContextSlow ( Address context)
private

Definition at line 191 of file marking-worklist.cc.

◆ SwitchToSharedForTesting()

Address v8::internal::MarkingWorklists::Local::SwitchToSharedForTesting ( )

Definition at line 209 of file marking-worklist.cc.

Member Data Documentation

◆ active_

MarkingWorklist::Local* v8::internal::MarkingWorklists::Local::active_
private

Definition at line 186 of file marking-worklist.h.

◆ active_context_

Address v8::internal::MarkingWorklists::Local::active_context_
private

Definition at line 189 of file marking-worklist.h.

◆ context_worklists_

std::vector<MarkingWorklist::Local> v8::internal::MarkingWorklists::Local::context_worklists_
private

Definition at line 192 of file marking-worklist.h.

◆ cpp_marking_state_

std::unique_ptr<CppMarkingState> v8::internal::MarkingWorklists::Local::cpp_marking_state_
private

Definition at line 195 of file marking-worklist.h.

◆ is_per_context_mode_

const bool v8::internal::MarkingWorklists::Local::is_per_context_mode_
private

Definition at line 190 of file marking-worklist.h.

◆ kNoCppMarkingState

std::nullptr_t v8::internal::MarkingWorklists::Local::kNoCppMarkingState = nullptr
staticconstexpr

Definition at line 136 of file marking-worklist.h.

◆ kOtherContext

Address v8::internal::MarkingWorklists::Local::kOtherContext = MarkingWorklists::kOtherContext
staticconstexpr

Definition at line 135 of file marking-worklist.h.

◆ kSharedContext

Address v8::internal::MarkingWorklists::Local::kSharedContext = MarkingWorklists::kSharedContext
staticconstexpr

Definition at line 134 of file marking-worklist.h.

◆ on_hold_

MarkingWorklist::Local v8::internal::MarkingWorklists::Local::on_hold_
private

Definition at line 188 of file marking-worklist.h.

◆ other_

MarkingWorklist::Local v8::internal::MarkingWorklists::Local::other_
private

Definition at line 194 of file marking-worklist.h.

◆ shared_

MarkingWorklist::Local v8::internal::MarkingWorklists::Local::shared_
private

Definition at line 187 of file marking-worklist.h.

◆ worklist_by_context_

AddressToIndexHashMap v8::internal::MarkingWorklists::Local::worklist_by_context_
private

Definition at line 193 of file marking-worklist.h.


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