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

#include <slot-set.h>

Inheritance diagram for v8::internal::TypedSlotSet:
Collaboration diagram for v8::internal::TypedSlotSet:

Public Types

enum  IterationMode { FREE_EMPTY_CHUNKS , KEEP_EMPTY_CHUNKS }
 
using FreeRangesMap = std::map<uint32_t, uint32_t>
 

Public Member Functions

 TypedSlotSet (Address page_start)
 
template<typename Callback >
int Iterate (Callback callback, IterationMode mode)
 
void ClearInvalidSlots (const FreeRangesMap &invalid_ranges)
 
void AssertNoInvalidSlots (const FreeRangesMap &invalid_ranges)
 
- Public Member Functions inherited from v8::internal::TypedSlots
 TypedSlots ()=default
 
virtual ~TypedSlots ()
 
void Insert (SlotType type, uint32_t offset)
 
void Merge (TypedSlots *other)
 

Private Member Functions

template<typename Callback >
void IterateSlotsInRanges (Callback callback, const FreeRangesMap &invalid_ranges)
 
ChunkLoadNext (Chunk *chunk)
 
void StoreNext (Chunk *chunk, Chunk *next)
 
ChunkLoadHead ()
 
void StoreHead (Chunk *chunk)
 

Static Private Member Functions

static TypedSlot ClearedTypedSlot ()
 

Private Attributes

Address page_start_
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::TypedSlots
static const int kMaxOffset = 1 << 29
 
- Protected Types inherited from v8::internal::TypedSlots
using OffsetField = base::BitField<int, 0, 29>
 
using TypeField = base::BitField<SlotType, 29, 3>
 
- Protected Member Functions inherited from v8::internal::TypedSlots
ChunkEnsureChunk ()
 
ChunkNewChunk (Chunk *next, size_t capacity)
 
- Static Protected Member Functions inherited from v8::internal::TypedSlots
static size_t NextCapacity (size_t capacity)
 
- Protected Attributes inherited from v8::internal::TypedSlots
Chunkhead_ = nullptr
 
Chunktail_ = nullptr
 
- Static Protected Attributes inherited from v8::internal::TypedSlots
static const size_t kInitialBufferSize = 100
 
static const size_t kMaxBufferSize = 16 * KB
 

Detailed Description

Definition at line 304 of file slot-set.h.

Member Typedef Documentation

◆ FreeRangesMap

using v8::internal::TypedSlotSet::FreeRangesMap = std::map<uint32_t, uint32_t>

Definition at line 306 of file slot-set.h.

Member Enumeration Documentation

◆ IterationMode

Enumerator
FREE_EMPTY_CHUNKS 
KEEP_EMPTY_CHUNKS 

Definition at line 308 of file slot-set.h.

Constructor & Destructor Documentation

◆ TypedSlotSet()

v8::internal::TypedSlotSet::TypedSlotSet ( Address page_start)
inlineexplicit

Definition at line 310 of file slot-set.h.

Member Function Documentation

◆ AssertNoInvalidSlots()

void v8::internal::TypedSlotSet::AssertNoInvalidSlots ( const FreeRangesMap & invalid_ranges)

Definition at line 69 of file slot-set.cc.

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

◆ ClearedTypedSlot()

static TypedSlot v8::internal::TypedSlotSet::ClearedTypedSlot ( )
inlinestaticprivate

Definition at line 385 of file slot-set.h.

Here is the caller graph for this function:

◆ ClearInvalidSlots()

void v8::internal::TypedSlotSet::ClearInvalidSlots ( const FreeRangesMap & invalid_ranges)

Definition at line 64 of file slot-set.cc.

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

◆ Iterate()

template<typename Callback >
int v8::internal::TypedSlotSet::Iterate ( Callback callback,
IterationMode mode )
inline

Definition at line 323 of file slot-set.h.

Here is the caller graph for this function:

◆ IterateSlotsInRanges()

template<typename Callback >
void v8::internal::TypedSlotSet::IterateSlotsInRanges ( Callback callback,
const FreeRangesMap & invalid_ranges )
private

Definition at line 78 of file slot-set.cc.

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

◆ LoadHead()

Chunk * v8::internal::TypedSlotSet::LoadHead ( )
inlineprivate

Definition at line 381 of file slot-set.h.

Here is the caller graph for this function:

◆ LoadNext()

Chunk * v8::internal::TypedSlotSet::LoadNext ( Chunk * chunk)
inlineprivate

Definition at line 375 of file slot-set.h.

Here is the caller graph for this function:

◆ StoreHead()

void v8::internal::TypedSlotSet::StoreHead ( Chunk * chunk)
inlineprivate

Definition at line 382 of file slot-set.h.

◆ StoreNext()

void v8::internal::TypedSlotSet::StoreNext ( Chunk * chunk,
Chunk * next )
inlineprivate

Definition at line 378 of file slot-set.h.

Member Data Documentation

◆ page_start_

Address v8::internal::TypedSlotSet::page_start_
private

Definition at line 390 of file slot-set.h.


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