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

#include <map.h>

Inheritance diagram for v8::internal::NormalizedMapCache:
Collaboration diagram for v8::internal::NormalizedMapCache:

Public Member Functions

V8_WARN_UNUSED_RESULT MaybeHandle< MapGet (Isolate *isolate, DirectHandle< Map > fast_map, ElementsKind elements_kind, Tagged< HeapObject > prototype, PropertyNormalizationMode mode)
 
void Set (Isolate *isolate, DirectHandle< Map > fast_map, DirectHandle< Map > normalized_map)
 
- Public Member Functions inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
Tagged< ElementTget (int index) const
 
Tagged< ElementTget (int index, RelaxedLoadTag) const
 
Tagged< ElementTget (int index, AcquireLoadTag) const
 
Tagged< ElementTget (int index, SeqCstAccessTag) const
 
void set (int index, Tagged< ElementT > value, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value)
 
void set (int index, Tagged< ElementT > value, RelaxedStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, RelaxedStoreTag)
 
void set (int index, Tagged< ElementT > value, ReleaseStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, ReleaseStoreTag)
 
void set (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, SeqCstAccessTag)
 
Tagged< ElementTswap (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
Tagged< ElementTcompare_and_swap (int index, Tagged< ElementT > expected, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void RightTrim (Isolate *isolate, int new_capacity)
 
int AllocatedSize () const
 
SlotType RawFieldOfFirstElement () const
 
SlotType RawFieldOfElementAt (int index) const
 
Handle< DAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation)
 

Static Public Member Functions

static NEVER_READ_ONLY_SPACE DirectHandle< NormalizedMapCacheNew (Isolate *isolate)
 
- Static Public Member Functions inherited from v8::internal::WeakFixedArray
template<class IsolateT >
static Handle< WeakFixedArrayNew (IsolateT *isolate, int capacity, AllocationType allocation=AllocationType::kYoung, MaybeDirectHandle< Object > initial_value={})
 
- Static Public Member Functions inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
static void MoveElements (Isolate *isolate, Tagged< WeakFixedArray > dst, int dst_index, Tagged< WeakFixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static void CopyElements (Isolate *isolate, Tagged< WeakFixedArray > dst, int dst_index, Tagged< WeakFixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static constexpr int SizeFor (int capacity)
 
static constexpr int OffsetOfElementAt (int index)
 

Private Member Functions

Tagged< Objectget (int index)
 
void set (int index, Tagged< Object > value)
 

Static Private Member Functions

static int GetIndex (Isolate *isolate, Tagged< Map > map, Tagged< HeapObject > prototype)
 

Static Private Attributes

static const int kEntries = 64
 

Friends

bool IsNormalizedMapCache (Tagged< HeapObject > obj, PtrComprCageBase cage_base)
 

Additional Inherited Members

- Public Types inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
using Header
 
using Shape
 
- Static Public Attributes inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
static constexpr bool kElementsAreMaybeObject
 
static constexpr int kElementSize
 
static constexpr int kMaxCapacity
 
static constexpr int kMaxRegularCapacity
 
- Protected Member Functions inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
bool IsInBounds (int index) const
 
bool IsCowArray () const
 
 FLEXIBLE_ARRAY_MEMBER (ElementMemberT, objects)
 
- Static Protected Member Functions inherited from v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >
static Handle< WeakFixedArrayAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation=AllocationType::kYoung)
 
static constexpr int NewCapacityForIndex (int index, int old_capacity)
 

Detailed Description

Definition at line 1079 of file map.h.

Member Function Documentation

◆ Get()

MaybeHandle< Map > v8::internal::NormalizedMapCache::Get ( Isolate * isolate,
DirectHandle< Map > fast_map,
ElementsKind elements_kind,
Tagged< HeapObject > prototype,
PropertyNormalizationMode mode )

Definition at line 2535 of file map.cc.

Here is the call graph for this function:

◆ get()

Tagged< Object > v8::internal::NormalizedMapCache::get ( int index)
private

◆ GetIndex()

int v8::internal::NormalizedMapCache::GetIndex ( Isolate * isolate,
Tagged< Map > map,
Tagged< HeapObject > prototype )
inlinestaticprivate

Definition at line 1046 of file map-inl.h.

Here is the caller graph for this function:

◆ New()

DirectHandle< NormalizedMapCache > v8::internal::NormalizedMapCache::New ( Isolate * isolate)
static

Definition at line 2529 of file map.cc.

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

◆ Set()

void v8::internal::NormalizedMapCache::Set ( Isolate * isolate,
DirectHandle< Map > fast_map,
DirectHandle< Map > normalized_map )

Definition at line 2557 of file map.cc.

Here is the call graph for this function:

◆ set()

void v8::internal::NormalizedMapCache::set ( int index,
Tagged< Object > value )
private

Friends And Related Symbol Documentation

◆ IsNormalizedMapCache

bool IsNormalizedMapCache ( Tagged< HeapObject > obj,
PtrComprCageBase cage_base )
friend

Member Data Documentation

◆ kEntries

const int v8::internal::NormalizedMapCache::kEntries = 64
staticprivate

Definition at line 1098 of file map.h.


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