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

#include <dictionary.h>

Inheritance diagram for v8::internal::NumberDictionary:
Collaboration diagram for v8::internal::NumberDictionary:

Public Member Functions

void UpdateMaxNumberKey (uint32_t key, DirectHandle< JSObject > dictionary_holder)
 
void CopyValuesTo (Tagged< FixedArray > elements)
 
bool requires_slow_elements ()
 
void set_requires_slow_elements ()
 
uint32_t max_number_key ()
 
template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<NumberDictionary>, DirectHandle<NumberDictionary>>)
HandleType< NumberDictionarySet (Isolate *isolate, HandleType< NumberDictionary > dictionary, uint32_t key, DirectHandle< Object > value, DirectHandle< JSObject > dictionary_holder, PropertyDetails details)
 

Static Public Member Functions

static DirectHandle< MapGetMap (RootsTable &roots)
 
template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<NumberDictionary>, DirectHandle<NumberDictionary>>)
static V8_WARN_UNUSED_RESULT HandleType< NumberDictionarySet (Isolate *isolate, HandleType< NumberDictionary > dictionary, uint32_t key, DirectHandle< Object > value, DirectHandle< JSObject > dictionary_holder=DirectHandle< JSObject >::null(), PropertyDetails details=PropertyDetails::Empty())
 
static void UncheckedSet (Isolate *isolate, DirectHandle< NumberDictionary > dictionary, uint32_t key, DirectHandle< Object > value)
 

Static Public Attributes

static const int kMaxNumberKeyIndex = kPrefixStartIndex
 
static const int kEntryValueIndex = 1
 
static const int kEntryDetailsIndex = 2
 
static const int kRequiresSlowElementsMask = 1
 
static const int kRequiresSlowElementsTagSize = 1
 
static const uint32_t kRequiresSlowElementsLimit = (1 << 29) - 1
 
static const uint32_t kPreferFastElementsSizeFactor = 3
 

Detailed Description

Definition at line 385 of file dictionary.h.

Member Function Documentation

◆ CopyValuesTo()

void v8::internal::NumberDictionary::CopyValuesTo ( Tagged< FixedArray > elements)

Definition at line 5913 of file objects.cc.

Here is the call graph for this function:

◆ GetMap()

DirectHandle< Map > v8::internal::NumberDictionary::GetMap ( RootsTable & roots)
inlinestatic

Definition at line 314 of file dictionary-inl.h.

◆ max_number_key()

uint32_t v8::internal::NumberDictionary::max_number_key ( )
inline

Definition at line 146 of file dictionary-inl.h.

◆ requires_slow_elements()

bool v8::internal::NumberDictionary::requires_slow_elements ( )
inline

Definition at line 140 of file dictionary-inl.h.

Here is the call graph for this function:

◆ Set() [1/2]

template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<NumberDictionary>, DirectHandle<NumberDictionary>>)
HandleType< NumberDictionary > v8::internal::NumberDictionary::Set ( Isolate * isolate,
HandleType< NumberDictionary > dictionary,
uint32_t key,
DirectHandle< Object > value,
DirectHandle< JSObject > dictionary_holder,
PropertyDetails details )

Definition at line 5884 of file objects.cc.

◆ Set() [2/2]

template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<NumberDictionary>, DirectHandle<NumberDictionary>>)
static V8_WARN_UNUSED_RESULT HandleType< NumberDictionary > v8::internal::NumberDictionary::Set ( Isolate * isolate,
HandleType< NumberDictionary > dictionary,
uint32_t key,
DirectHandle< Object > value,
DirectHandle< JSObject > dictionary_holder = DirectHandleJSObject >::null(),
PropertyDetails details = PropertyDetails::Empty() )
static
Here is the caller graph for this function:

◆ set_requires_slow_elements()

void v8::internal::NumberDictionary::set_requires_slow_elements ( )
inline

Definition at line 154 of file dictionary-inl.h.

Here is the call graph for this function:

◆ UncheckedSet()

void v8::internal::NumberDictionary::UncheckedSet ( Isolate * isolate,
DirectHandle< NumberDictionary > dictionary,
uint32_t key,
DirectHandle< Object > value )
static

Definition at line 5907 of file objects.cc.

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

◆ UpdateMaxNumberKey()

void v8::internal::NumberDictionary::UpdateMaxNumberKey ( uint32_t key,
DirectHandle< JSObject > dictionary_holder )

Definition at line 5858 of file objects.cc.

Here is the call graph for this function:

Member Data Documentation

◆ kEntryDetailsIndex

const int v8::internal::NumberDictionary::kEntryDetailsIndex = 2
static

Definition at line 431 of file dictionary.h.

◆ kEntryValueIndex

const int v8::internal::NumberDictionary::kEntryValueIndex = 1
static

Definition at line 430 of file dictionary.h.

◆ kMaxNumberKeyIndex

const int v8::internal::NumberDictionary::kMaxNumberKeyIndex = kPrefixStartIndex
static

Definition at line 410 of file dictionary.h.

◆ kPreferFastElementsSizeFactor

const uint32_t v8::internal::NumberDictionary::kPreferFastElementsSizeFactor = 3
static

Definition at line 440 of file dictionary.h.

◆ kRequiresSlowElementsLimit

const uint32_t v8::internal::NumberDictionary::kRequiresSlowElementsLimit = (1 << 29) - 1
static

Definition at line 436 of file dictionary.h.

◆ kRequiresSlowElementsMask

const int v8::internal::NumberDictionary::kRequiresSlowElementsMask = 1
static

Definition at line 434 of file dictionary.h.

◆ kRequiresSlowElementsTagSize

const int v8::internal::NumberDictionary::kRequiresSlowElementsTagSize = 1
static

Definition at line 435 of file dictionary.h.


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