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

#include <marking.h>

Inheritance diagram for v8::internal::MarkingHelper:
Collaboration diagram for v8::internal::MarkingHelper:

Public Types

enum class  WorklistTarget : uint8_t { kRegular }
 
enum class  LivenessMode : uint8_t { kMarkbit , kAlwaysLive }
 

Public Member Functions

template<typename MarkingStateT >
bool IsMarkedOrAlwaysLive (Heap *heap, MarkingStateT *marking_state, Tagged< HeapObject > object)
 
template<typename MarkingStateT >
bool IsUnmarkedAndNotAlwaysLive (Heap *heap, MarkingStateT *marking_state, Tagged< HeapObject > object)
 
template<typename MarkingState >
bool TryMarkAndPush (Heap *heap, MarkingWorklists::Local *marking_worklist, MarkingState *marking_state, WorklistTarget target_worklist, Tagged< HeapObject > object)
 

Static Public Member Functions

static V8_INLINE std::optional< WorklistTargetShouldMarkObject (Heap *heap, Tagged< HeapObject > object)
 
static V8_INLINE LivenessMode GetLivenessMode (Heap *heap, Tagged< HeapObject > object)
 
template<typename MarkingStateT >
static V8_INLINE bool IsMarkedOrAlwaysLive (Heap *heap, MarkingStateT *marking_state, Tagged< HeapObject > object)
 
template<typename MarkingStateT >
static V8_INLINE bool IsUnmarkedAndNotAlwaysLive (Heap *heap, MarkingStateT *marking_state, Tagged< HeapObject > object)
 
template<typename MarkingState >
static V8_INLINE bool TryMarkAndPush (Heap *heap, MarkingWorklists::Local *marking_worklist, MarkingState *marking_state, WorklistTarget target_worklis, Tagged< HeapObject > object)
 

Detailed Description

Definition at line 233 of file marking.h.

Member Enumeration Documentation

◆ LivenessMode

enum class v8::internal::MarkingHelper::LivenessMode : uint8_t
strong
Enumerator
kMarkbit 
kAlwaysLive 

Definition at line 240 of file marking.h.

◆ WorklistTarget

enum class v8::internal::MarkingHelper::WorklistTarget : uint8_t
strong
Enumerator
kRegular 

Definition at line 236 of file marking.h.

Member Function Documentation

◆ GetLivenessMode()

MarkingHelper::LivenessMode v8::internal::MarkingHelper::GetLivenessMode ( Heap * heap,
Tagged< HeapObject > object )
static

Definition at line 304 of file marking-inl.h.

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

◆ IsMarkedOrAlwaysLive() [1/2]

template<typename MarkingStateT >
bool v8::internal::MarkingHelper::IsMarkedOrAlwaysLive ( Heap * heap,
MarkingStateT * marking_state,
Tagged< HeapObject > object )

Definition at line 330 of file marking-inl.h.

Here is the call graph for this function:

◆ IsMarkedOrAlwaysLive() [2/2]

template<typename MarkingStateT >
static V8_INLINE bool v8::internal::MarkingHelper::IsMarkedOrAlwaysLive ( Heap * heap,
MarkingStateT * marking_state,
Tagged< HeapObject > object )
static
Here is the caller graph for this function:

◆ IsUnmarkedAndNotAlwaysLive() [1/2]

template<typename MarkingStateT >
bool v8::internal::MarkingHelper::IsUnmarkedAndNotAlwaysLive ( Heap * heap,
MarkingStateT * marking_state,
Tagged< HeapObject > object )

Definition at line 340 of file marking-inl.h.

Here is the call graph for this function:

◆ IsUnmarkedAndNotAlwaysLive() [2/2]

template<typename MarkingStateT >
static V8_INLINE bool v8::internal::MarkingHelper::IsUnmarkedAndNotAlwaysLive ( Heap * heap,
MarkingStateT * marking_state,
Tagged< HeapObject > object )
static
Here is the caller graph for this function:

◆ ShouldMarkObject()

std::optional< MarkingHelper::WorklistTarget > v8::internal::MarkingHelper::ShouldMarkObject ( Heap * heap,
Tagged< HeapObject > object )
static

Definition at line 278 of file marking-inl.h.

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

◆ TryMarkAndPush() [1/2]

template<typename MarkingState >
static V8_INLINE bool v8::internal::MarkingHelper::TryMarkAndPush ( Heap * heap,
MarkingWorklists::Local * marking_worklist,
MarkingState * marking_state,
WorklistTarget target_worklis,
Tagged< HeapObject > object )
static
Here is the caller graph for this function:

◆ TryMarkAndPush() [2/2]

template<typename MarkingState >
bool v8::internal::MarkingHelper::TryMarkAndPush ( Heap * heap,
MarkingWorklists::Local * marking_worklist,
MarkingState * marking_state,
WorklistTarget target_worklist,
Tagged< HeapObject > object )

Definition at line 350 of file marking-inl.h.

Here is the call graph for this function:

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