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

#include <remembered-set.h>

Inheritance diagram for v8::internal::RememberedSet< type >:
Collaboration diagram for v8::internal::RememberedSet< type >:

Static Public Member Functions

template<AccessMode access_mode>
static void Insert (MutablePageMetadata *page, size_t slot_offset)
 
static void MergeAndDelete (MutablePageMetadata *chunk, SlotSet &&other_slot_set)
 
static void MergeAndDeleteTyped (MutablePageMetadata *chunk, TypedSlotSet &&other_typed_slot_set)
 
static void DeleteTyped (TypedSlotSet &&other_typed_slot_set)
 
static bool Contains (MutablePageMetadata *chunk, Address slot_addr)
 
static void CheckNoneInRange (MutablePageMetadata *page, Address start, Address end)
 
static void Remove (MutablePageMetadata *chunk, Address slot_addr)
 
static void RemoveRange (MutablePageMetadata *chunk, Address start, Address end, SlotSet::EmptyBucketMode mode)
 
template<typename Callback >
static void IterateMemoryChunks (Heap *heap, Callback callback)
 
template<AccessMode access_mode = AccessMode::ATOMIC, typename Callback >
static int Iterate (MutablePageMetadata *chunk, Callback callback, SlotSet::EmptyBucketMode mode)
 
template<AccessMode access_mode = AccessMode::ATOMIC, typename Callback >
static int Iterate (SlotSet *slot_set, const MutablePageMetadata *chunk, Callback callback, SlotSet::EmptyBucketMode mode)
 
template<typename Callback >
static int IterateAndTrackEmptyBuckets (MutablePageMetadata *chunk, Callback callback, ::heap::base::Worklist< MutablePageMetadata *, 64 >::Local *empty_chunks)
 
static bool CheckPossiblyEmptyBuckets (MutablePageMetadata *chunk)
 
static void InsertTyped (MutablePageMetadata *memory_chunk, SlotType slot_type, uint32_t offset)
 
static void MergeTyped (MutablePageMetadata *page, std::unique_ptr< TypedSlots > other)
 
static void RemoveRangeTyped (MutablePageMetadata *page, Address start, Address end)
 
template<typename Callback >
static int IterateTyped (MutablePageMetadata *chunk, Callback callback)
 
template<typename Callback >
static int IterateTyped (TypedSlotSet *slot_set, Callback callback)
 
static void ClearAll (Heap *heap)
 

Detailed Description

template<RememberedSetType type>
class v8::internal::RememberedSet< type >

Definition at line 92 of file remembered-set.h.

Member Function Documentation

◆ CheckNoneInRange()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::CheckNoneInRange ( MutablePageMetadata * page,
Address start,
Address end )
inlinestatic

Definition at line 152 of file remembered-set.h.

Here is the call graph for this function:

◆ CheckPossiblyEmptyBuckets()

template<RememberedSetType type>
static bool v8::internal::RememberedSet< type >::CheckPossiblyEmptyBuckets ( MutablePageMetadata * chunk)
inlinestatic

Definition at line 228 of file remembered-set.h.

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

◆ ClearAll()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::ClearAll ( Heap * heap)
inlinestatic

Definition at line 293 of file remembered-set.h.

Here is the call graph for this function:

◆ Contains()

template<RememberedSetType type>
static bool v8::internal::RememberedSet< type >::Contains ( MutablePageMetadata * chunk,
Address slot_addr )
inlinestatic

Definition at line 142 of file remembered-set.h.

Here is the call graph for this function:

◆ DeleteTyped()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::DeleteTyped ( TypedSlotSet && other_typed_slot_set)
inlinestatic

Definition at line 136 of file remembered-set.h.

Here is the caller graph for this function:

◆ Insert()

template<RememberedSetType type>
template<AccessMode access_mode>
static void v8::internal::RememberedSet< type >::Insert ( MutablePageMetadata * page,
size_t slot_offset )
inlinestatic

Definition at line 97 of file remembered-set.h.

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

◆ InsertTyped()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::InsertTyped ( MutablePageMetadata * memory_chunk,
SlotType slot_type,
uint32_t offset )
inlinestatic

Definition at line 243 of file remembered-set.h.

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

◆ Iterate() [1/2]

template<RememberedSetType type>
template<AccessMode access_mode = AccessMode::ATOMIC, typename Callback >
static int v8::internal::RememberedSet< type >::Iterate ( MutablePageMetadata * chunk,
Callback callback,
SlotSet::EmptyBucketMode mode )
inlinestatic

Definition at line 198 of file remembered-set.h.

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

◆ Iterate() [2/2]

template<RememberedSetType type>
template<AccessMode access_mode = AccessMode::ATOMIC, typename Callback >
static int v8::internal::RememberedSet< type >::Iterate ( SlotSet * slot_set,
const MutablePageMetadata * chunk,
Callback callback,
SlotSet::EmptyBucketMode mode )
inlinestatic

Definition at line 205 of file remembered-set.h.

Here is the call graph for this function:

◆ IterateAndTrackEmptyBuckets()

template<RememberedSetType type>
template<typename Callback >
static int v8::internal::RememberedSet< type >::IterateAndTrackEmptyBuckets ( MutablePageMetadata * chunk,
Callback callback,
::heap::base::Worklist< MutablePageMetadata *, 64 >::Local * empty_chunks )
inlinestatic

Definition at line 212 of file remembered-set.h.

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

◆ IterateMemoryChunks()

template<RememberedSetType type>
template<typename Callback >
static void v8::internal::RememberedSet< type >::IterateMemoryChunks ( Heap * heap,
Callback callback )
inlinestatic

Definition at line 179 of file remembered-set.h.

Here is the call graph for this function:

◆ IterateTyped() [1/2]

template<RememberedSetType type>
template<typename Callback >
static int v8::internal::RememberedSet< type >::IterateTyped ( MutablePageMetadata * chunk,
Callback callback )
inlinestatic

Definition at line 280 of file remembered-set.h.

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

◆ IterateTyped() [2/2]

template<RememberedSetType type>
template<typename Callback >
static int v8::internal::RememberedSet< type >::IterateTyped ( TypedSlotSet * slot_set,
Callback callback )
inlinestatic

Definition at line 287 of file remembered-set.h.

Here is the call graph for this function:

◆ MergeAndDelete()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::MergeAndDelete ( MutablePageMetadata * chunk,
SlotSet && other_slot_set )
inlinestatic

Definition at line 107 of file remembered-set.h.

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

◆ MergeAndDeleteTyped()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::MergeAndDeleteTyped ( MutablePageMetadata * chunk,
TypedSlotSet && other_typed_slot_set )
inlinestatic

Definition at line 122 of file remembered-set.h.

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

◆ MergeTyped()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::MergeTyped ( MutablePageMetadata * page,
std::unique_ptr< TypedSlots > other )
inlinestatic

Definition at line 252 of file remembered-set.h.

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

◆ Remove()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::Remove ( MutablePageMetadata * chunk,
Address slot_addr )
inlinestatic

Definition at line 162 of file remembered-set.h.

Here is the call graph for this function:

◆ RemoveRange()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::RemoveRange ( MutablePageMetadata * chunk,
Address start,
Address end,
SlotSet::EmptyBucketMode mode )
inlinestatic

Definition at line 170 of file remembered-set.h.

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

◆ RemoveRangeTyped()

template<RememberedSetType type>
static void v8::internal::RememberedSet< type >::RemoveRangeTyped ( MutablePageMetadata * page,
Address start,
Address end )
inlinestatic

Definition at line 263 of file remembered-set.h.

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

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