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

#include <lookup.h>

Collaboration diagram for v8::internal::LookupIterator:

Public Types

enum  Configuration {
  kInterceptor = 1 << 0 , kPrototypeChain = 1 << 1 , OWN_SKIP_INTERCEPTOR = 0 , OWN = kInterceptor ,
  PROTOTYPE_CHAIN_SKIP_INTERCEPTOR = kPrototypeChain , PROTOTYPE_CHAIN = kPrototypeChain | kInterceptor , DEFAULT = PROTOTYPE_CHAIN
}
 
enum  State {
  NOT_FOUND , TYPED_ARRAY_INDEX_NOT_FOUND , ACCESS_CHECK , INTERCEPTOR ,
  JSPROXY , ACCESSOR , DATA , WASM_OBJECT ,
  TRANSITION , BEFORE_PROPERTY = INTERCEPTOR
}
 

Public Member Functions

 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, DirectHandle< Name > name, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, DirectHandle< Name > name, DirectHandle< JSAny > lookup_start_object, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, size_t index, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, size_t index, DirectHandle< JSAny > lookup_start_object, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, const PropertyKey &key, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, const PropertyKey &key, DirectHandle< JSAny > lookup_start_object, Configuration configuration=DEFAULT)
 
 LookupIterator (Isolate *isolate, Configuration configuration, DirectHandle< JSAny > receiver, DirectHandle< Symbol > name)
 
void Restart ()
 
void RecheckTypedArrayBounds ()
 
Isolateisolate () const
 
State state () const
 
DirectHandle< Namename () const
 
DirectHandle< NameGetName ()
 
size_t index () const
 
uint32_t array_index () const
 
PropertyKey GetKey () const
 
bool IsElement () const
 
bool IsElement (Tagged< JSReceiver > object) const
 
bool IsPrivateName () const
 
bool IsFound () const
 
void Next ()
 
void NotFound ()
 
Heapheap () const
 
Factoryfactory () const
 
DirectHandle< JSAnyGetReceiver () const
 
template<class T >
DirectHandle< TGetStoreTarget () const
 
bool is_dictionary_holder () const
 
DirectHandle< Maptransition_map () const
 
DirectHandle< PropertyCelltransition_cell () const
 
template<class T >
DirectHandle< TGetHolder () const
 
DirectHandle< JSAnylookup_start_object () const
 
bool HolderIsReceiver () const
 
bool HolderIsReceiverOrHiddenPrototype () const
 
bool check_prototype_chain () const
 
bool HasAccess () const
 
bool ExtendingNonExtensible (DirectHandle< JSReceiver > receiver)
 
void PrepareForDataProperty (DirectHandle< Object > value)
 
void PrepareTransitionToDataProperty (DirectHandle< JSReceiver > receiver, DirectHandle< Object > value, PropertyAttributes attributes, StoreOrigin store_origin)
 
bool IsCacheableTransition ()
 
void ApplyTransitionToDataProperty (DirectHandle< JSReceiver > receiver)
 
void ReconfigureDataProperty (DirectHandle< Object > value, PropertyAttributes attributes)
 
void Delete ()
 
void TransitionToAccessorProperty (DirectHandle< Object > getter, DirectHandle< Object > setter, PropertyAttributes attributes)
 
void TransitionToAccessorPair (DirectHandle< Object > pair, PropertyAttributes attributes)
 
PropertyDetails property_details () const
 
PropertyAttributes property_attributes () const
 
bool IsConfigurable () const
 
bool IsReadOnly () const
 
bool IsEnumerable () const
 
Representation representation () const
 
PropertyLocation location () const
 
PropertyConstness constness () const
 
FieldIndex GetFieldIndex () const
 
int GetFieldDescriptorIndex () const
 
int GetAccessorIndex () const
 
DirectHandle< PropertyCellGetPropertyCell () const
 
DirectHandle< ObjectGetAccessors () const
 
DirectHandle< InterceptorInfoGetInterceptor () const
 
DirectHandle< InterceptorInfoGetInterceptorForFailedAccessCheck () const
 
Handle< ObjectGetDataValue (AllocationPolicy allocation_policy=AllocationPolicy::kAllocationAllowed) const
 
void WriteDataValue (DirectHandle< Object > value, bool initializing_store)
 
DirectHandle< ObjectGetDataValue (SeqCstAccessTag tag) const
 
void WriteDataValue (DirectHandle< Object > value, SeqCstAccessTag tag)
 
DirectHandle< ObjectSwapDataValue (DirectHandle< Object > value, SeqCstAccessTag tag)
 
DirectHandle< ObjectCompareAndSwapDataValue (DirectHandle< Object > expected, DirectHandle< Object > value, SeqCstAccessTag tag)
 
void UpdateProtector ()
 
bool TryLookupCachedProperty (DirectHandle< AccessorPair > accessor)
 
bool TryLookupCachedProperty ()
 
template<bool is_element>
void Start ()
 

Static Public Member Functions

static void UpdateProtector (Isolate *isolate, DirectHandle< JSAny > receiver, DirectHandle< Name > name)
 
static bool HasInternalMarkerProperty (Isolate *isolate, Tagged< JSReceiver > object, DirectHandle< Symbol > marker)
 

Private Types

enum class  InterceptorState { kUninitialized , kSkipNonMasking , kProcessNonMasking }
 

Private Member Functions

bool LookupCachedProperty (DirectHandle< AccessorPair > accessor)
 
 LookupIterator (Isolate *isolate, DirectHandle< JSAny > receiver, DirectHandle< Name > name, size_t index, DirectHandle< JSAny > lookup_start_object, Configuration configuration)
 
 LookupIterator (Isolate *isolate, Configuration configuration, DirectHandle< JSAny > receiver, DirectHandle< Symbol > name, DirectHandle< JSAny > lookup_start_object)
 
DirectHandle< MapGetReceiverMap () const
 
V8_WARN_UNUSED_RESULT Tagged< JSReceiverNextHolder (Tagged< Map > map)
 
bool is_js_array_element (bool is_element) const
 
template<bool is_element>
V8_EXPORT_PRIVATE void Start ()
 
template<bool is_element>
void NextInternal (Tagged< Map > map, Tagged< JSReceiver > holder)
 
template<bool is_element>
State LookupInHolder (Tagged< Map > map, Tagged< JSReceiver > holder)
 
template<bool is_element>
State LookupInRegularHolder (Tagged< Map > map, Tagged< JSReceiver > holder)
 
template<bool is_element>
State LookupInSpecialHolder (Tagged< Map > map, Tagged< JSReceiver > holder)
 
template<bool is_element>
void RestartLookupForNonMaskingInterceptors ()
 
template<bool is_element>
void RestartInternal (InterceptorState interceptor_state)
 
DirectHandle< ObjectFetchValue (AllocationPolicy allocation_policy=AllocationPolicy::kAllocationAllowed) const
 
bool CanStayConst (Tagged< Object > value) const
 
bool DictCanStayConst (Tagged< Object > value) const
 
template<bool is_element>
void ReloadPropertyInformation ()
 
template<bool is_element>
bool SkipInterceptor (Tagged< JSObject > holder)
 
template<bool is_element>
Tagged< InterceptorInfoGetInterceptor (Tagged< JSObject > holder) const
 
bool check_interceptor () const
 
InternalIndex descriptor_number () const
 
InternalIndex dictionary_entry () const
 
State NotFound (Tagged< JSReceiver > const holder) const
 

Static Private Member Functions

static void InternalUpdateProtector (Isolate *isolate, DirectHandle< JSAny > receiver, DirectHandle< Name > name)
 
static Configuration ComputeConfiguration (Isolate *isolate, Configuration configuration, DirectHandle< Name > name)
 
static MaybeDirectHandle< JSReceiverGetRootForNonJSReceiver (Isolate *isolate, DirectHandle< JSPrimitive > lookup_start_object, size_t index, Configuration configuration)
 
static MaybeDirectHandle< JSReceiverGetRoot (Isolate *isolate, DirectHandle< JSAny > lookup_start_object, size_t index, Configuration configuration)
 

Private Attributes

friend PropertyKey
 
const Configuration configuration_
 
State state_ = NOT_FOUND
 
bool has_property_ = false
 
InterceptorState interceptor_state_ = InterceptorState::kUninitialized
 
PropertyDetails property_details_ = PropertyDetails::Empty()
 
Isolate *const isolate_
 
DirectHandle< Namename_
 
DirectHandle< UnionOf< Map, PropertyCell > > transition_
 
const DirectHandle< JSAnyreceiver_
 
DirectHandle< JSReceiverholder_
 
const DirectHandle< JSAnylookup_start_object_
 
const size_t index_
 
InternalIndex number_ = InternalIndex::NotFound()
 

Static Private Attributes

static const size_t kInvalidIndex = std::numeric_limits<size_t>::max()
 

Detailed Description

Definition at line 57 of file lookup.h.

Member Enumeration Documentation

◆ Configuration

Enumerator
kInterceptor 
kPrototypeChain 
OWN_SKIP_INTERCEPTOR 
OWN 
PROTOTYPE_CHAIN_SKIP_INTERCEPTOR 
PROTOTYPE_CHAIN 
DEFAULT 

Definition at line 59 of file lookup.h.

◆ InterceptorState

Enumerator
kUninitialized 
kSkipNonMasking 
kProcessNonMasking 

Definition at line 297 of file lookup.h.

◆ State

Enumerator
NOT_FOUND 
TYPED_ARRAY_INDEX_NOT_FOUND 
ACCESS_CHECK 
INTERCEPTOR 
JSPROXY 
ACCESSOR 
DATA 
WASM_OBJECT 
TRANSITION 
BEFORE_PROPERTY 

Definition at line 72 of file lookup.h.

Constructor & Destructor Documentation

◆ LookupIterator() [1/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
DirectHandle< Name > name,
Configuration configuration = DEFAULT )
inline

Definition at line 26 of file lookup-inl.h.

◆ LookupIterator() [2/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
DirectHandle< Name > name,
DirectHandle< JSAny > lookup_start_object,
Configuration configuration = DEFAULT )
inline

Definition at line 32 of file lookup-inl.h.

◆ LookupIterator() [3/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
size_t index,
Configuration configuration = DEFAULT )
inline

Definition at line 39 of file lookup-inl.h.

◆ LookupIterator() [4/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
size_t index,
DirectHandle< JSAny > lookup_start_object,
Configuration configuration = DEFAULT )
inline

Definition at line 46 of file lookup-inl.h.

◆ LookupIterator() [5/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
const PropertyKey & key,
Configuration configuration = DEFAULT )
inline

Definition at line 55 of file lookup-inl.h.

◆ LookupIterator() [6/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
const PropertyKey & key,
DirectHandle< JSAny > lookup_start_object,
Configuration configuration = DEFAULT )
inline

Definition at line 61 of file lookup-inl.h.

◆ LookupIterator() [7/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
Configuration configuration,
DirectHandle< JSAny > receiver,
DirectHandle< Symbol > name )
inline

Definition at line 118 of file lookup-inl.h.

Here is the call graph for this function:

◆ LookupIterator() [8/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
DirectHandle< JSAny > receiver,
DirectHandle< Name > name,
size_t index,
DirectHandle< JSAny > lookup_start_object,
Configuration configuration )
inlineprivate

Definition at line 70 of file lookup-inl.h.

Here is the call graph for this function:

◆ LookupIterator() [9/9]

v8::internal::LookupIterator::LookupIterator ( Isolate * isolate,
Configuration configuration,
DirectHandle< JSAny > receiver,
DirectHandle< Symbol > name,
DirectHandle< JSAny > lookup_start_object )
inlineprivate

Member Function Documentation

◆ ApplyTransitionToDataProperty()

void v8::internal::LookupIterator::ApplyTransitionToDataProperty ( DirectHandle< JSReceiver > receiver)

Definition at line 673 of file lookup.cc.

Here is the call graph for this function:

◆ array_index()

uint32_t v8::internal::LookupIterator::array_index ( ) const
inline

Definition at line 161 of file lookup.h.

Here is the caller graph for this function:

◆ CanStayConst()

bool v8::internal::LookupIterator::CanStayConst ( Tagged< Object > value) const
private

Definition at line 964 of file lookup.cc.

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

◆ check_interceptor()

bool v8::internal::LookupIterator::check_interceptor ( ) const
inlineprivate

Definition at line 344 of file lookup.h.

Here is the caller graph for this function:

◆ check_prototype_chain()

bool v8::internal::LookupIterator::check_prototype_chain ( ) const
inline

Definition at line 205 of file lookup.h.

Here is the caller graph for this function:

◆ CompareAndSwapDataValue()

DirectHandle< Object > v8::internal::LookupIterator::CompareAndSwapDataValue ( DirectHandle< Object > expected,
DirectHandle< Object > value,
SeqCstAccessTag tag )

Definition at line 1196 of file lookup.cc.

Here is the call graph for this function:

◆ ComputeConfiguration()

LookupIterator::Configuration v8::internal::LookupIterator::ComputeConfiguration ( Isolate * isolate,
Configuration configuration,
DirectHandle< Name > name )
inlinestaticprivate

Definition at line 377 of file lookup-inl.h.

◆ constness()

PropertyConstness v8::internal::LookupIterator::constness ( ) const
inline

Definition at line 243 of file lookup.h.

Here is the caller graph for this function:

◆ Delete()

void v8::internal::LookupIterator::Delete ( )

Definition at line 759 of file lookup.cc.

Here is the call graph for this function:

◆ descriptor_number()

InternalIndex v8::internal::LookupIterator::descriptor_number ( ) const
inlineprivate

Definition at line 360 of file lookup-inl.h.

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

◆ DictCanStayConst()

bool v8::internal::LookupIterator::DictCanStayConst ( Tagged< Object > value) const
private

Definition at line 1000 of file lookup.cc.

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

◆ dictionary_entry()

InternalIndex v8::internal::LookupIterator::dictionary_entry ( ) const
inlineprivate

Definition at line 368 of file lookup-inl.h.

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

◆ ExtendingNonExtensible()

bool v8::internal::LookupIterator::ExtendingNonExtensible ( DirectHandle< JSReceiver > receiver)
inline

Definition at line 288 of file lookup-inl.h.

Here is the call graph for this function:

◆ factory()

Factory * v8::internal::LookupIterator::factory ( ) const
inline

Definition at line 187 of file lookup.h.

Here is the caller graph for this function:

◆ FetchValue()

DirectHandle< Object > v8::internal::LookupIterator::FetchValue ( AllocationPolicy allocation_policy = AllocationPolicy::kAllocationAllowed) const
private

Definition at line 925 of file lookup.cc.

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

◆ GetAccessorIndex()

int v8::internal::LookupIterator::GetAccessorIndex ( ) const

Definition at line 1038 of file lookup.cc.

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

◆ GetAccessors()

DirectHandle< Object > v8::internal::LookupIterator::GetAccessors ( ) const

Definition at line 1064 of file lookup.cc.

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

◆ GetDataValue() [1/2]

Handle< Object > v8::internal::LookupIterator::GetDataValue ( AllocationPolicy allocation_policy = AllocationPolicy::kAllocationAllowed) const

Definition at line 1069 of file lookup.cc.

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

◆ GetDataValue() [2/2]

DirectHandle< Object > v8::internal::LookupIterator::GetDataValue ( SeqCstAccessTag tag) const

Definition at line 1075 of file lookup.cc.

Here is the call graph for this function:

◆ GetFieldDescriptorIndex()

int v8::internal::LookupIterator::GetFieldDescriptorIndex ( ) const

Definition at line 1029 of file lookup.cc.

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

◆ GetFieldIndex()

FieldIndex v8::internal::LookupIterator::GetFieldIndex ( ) const

Definition at line 1046 of file lookup.cc.

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

◆ GetHolder()

template<class T >
DirectHandle< T > v8::internal::LookupIterator::GetHolder ( ) const
inline

Definition at line 283 of file lookup-inl.h.

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

◆ GetInterceptor() [1/2]

DirectHandle< InterceptorInfo > v8::internal::LookupIterator::GetInterceptor ( ) const
inline

Definition at line 417 of file lookup-inl.h.

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

◆ GetInterceptor() [2/2]

template<bool is_element>
Tagged< InterceptorInfo > v8::internal::LookupIterator::GetInterceptor ( Tagged< JSObject > holder) const
inlineprivate

Definition at line 408 of file lookup-inl.h.

◆ GetInterceptorForFailedAccessCheck()

DirectHandle< InterceptorInfo > v8::internal::LookupIterator::GetInterceptorForFailedAccessCheck ( ) const

Definition at line 1419 of file lookup.cc.

Here is the call graph for this function:

◆ GetKey()

PropertyKey v8::internal::LookupIterator::GetKey ( ) const
inline

Definition at line 254 of file lookup-inl.h.

◆ GetName()

DirectHandle< Name > v8::internal::LookupIterator::GetName ( )
inline

Definition at line 246 of file lookup-inl.h.

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

◆ GetPropertyCell()

DirectHandle< PropertyCell > v8::internal::LookupIterator::GetPropertyCell ( ) const

Definition at line 1055 of file lookup.cc.

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

◆ GetReceiver()

DirectHandle< JSAny > v8::internal::LookupIterator::GetReceiver ( ) const
inline

Definition at line 188 of file lookup.h.

Here is the caller graph for this function:

◆ GetReceiverMap()

DirectHandle< Map > v8::internal::LookupIterator::GetReceiverMap ( ) const
private

Definition at line 180 of file lookup.cc.

Here is the call graph for this function:

◆ GetRoot()

MaybeDirectHandle< JSReceiver > v8::internal::LookupIterator::GetRoot ( Isolate * isolate,
DirectHandle< JSAny > lookup_start_object,
size_t index,
Configuration configuration )
inlinestaticprivate

Definition at line 384 of file lookup-inl.h.

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

◆ GetRootForNonJSReceiver()

MaybeDirectHandle< JSReceiver > v8::internal::LookupIterator::GetRootForNonJSReceiver ( Isolate * isolate,
DirectHandle< JSPrimitive > lookup_start_object,
size_t index,
Configuration configuration )
staticprivate

Definition at line 146 of file lookup.cc.

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

◆ GetStoreTarget()

template<class T >
DirectHandle< T > v8::internal::LookupIterator::GetStoreTarget ( ) const
inline

Definition at line 395 of file lookup-inl.h.

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

◆ HasAccess()

bool v8::internal::LookupIterator::HasAccess ( ) const

Definition at line 185 of file lookup.cc.

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

◆ HasInternalMarkerProperty()

bool v8::internal::LookupIterator::HasInternalMarkerProperty ( Isolate * isolate,
Tagged< JSReceiver > object,
DirectHandle< Symbol > marker )
static

Definition at line 1395 of file lookup.cc.

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

◆ heap()

Heap * v8::internal::LookupIterator::heap ( ) const
inline

Definition at line 186 of file lookup.h.

◆ HolderIsReceiver()

bool v8::internal::LookupIterator::HolderIsReceiver ( ) const

Definition at line 908 of file lookup.cc.

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

◆ HolderIsReceiverOrHiddenPrototype()

bool v8::internal::LookupIterator::HolderIsReceiverOrHiddenPrototype ( ) const

Definition at line 915 of file lookup.cc.

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

◆ index()

size_t v8::internal::LookupIterator::index ( ) const
inline

Definition at line 160 of file lookup.h.

◆ InternalUpdateProtector()

void v8::internal::LookupIterator::InternalUpdateProtector ( Isolate * isolate,
DirectHandle< JSAny > receiver,
DirectHandle< Name > name )
staticprivate

Definition at line 200 of file lookup.cc.

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

◆ is_dictionary_holder()

bool v8::internal::LookupIterator::is_dictionary_holder ( ) const
inline

Definition at line 268 of file lookup-inl.h.

Here is the caller graph for this function:

◆ is_js_array_element()

bool v8::internal::LookupIterator::is_js_array_element ( bool is_element) const
inlineprivate

Definition at line 307 of file lookup.h.

Here is the caller graph for this function:

◆ IsCacheableTransition()

bool v8::internal::LookupIterator::IsCacheableTransition ( )
inline

Definition at line 318 of file lookup-inl.h.

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

◆ IsConfigurable()

bool v8::internal::LookupIterator::IsConfigurable ( ) const
inline

Definition at line 236 of file lookup.h.

◆ IsElement() [1/2]

bool v8::internal::LookupIterator::IsElement ( ) const
inline

Definition at line 171 of file lookup.h.

Here is the caller graph for this function:

◆ IsElement() [2/2]

bool v8::internal::LookupIterator::IsElement ( Tagged< JSReceiver > object) const
inline

Definition at line 258 of file lookup-inl.h.

◆ IsEnumerable()

bool v8::internal::LookupIterator::IsEnumerable ( ) const
inline

Definition at line 238 of file lookup.h.

◆ IsFound()

bool v8::internal::LookupIterator::IsFound ( ) const
inline

Definition at line 179 of file lookup.h.

Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::LookupIterator::isolate ( ) const
inline

Definition at line 155 of file lookup.h.

Here is the caller graph for this function:

◆ IsPrivateName()

bool v8::internal::LookupIterator::IsPrivateName ( ) const
inline

Definition at line 264 of file lookup-inl.h.

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

◆ IsReadOnly()

bool v8::internal::LookupIterator::IsReadOnly ( ) const
inline

Definition at line 237 of file lookup.h.

Here is the caller graph for this function:

◆ location()

PropertyLocation v8::internal::LookupIterator::location ( ) const
inline

Definition at line 242 of file lookup.h.

◆ lookup_start_object()

DirectHandle< JSAny > v8::internal::LookupIterator::lookup_start_object ( ) const
inline

Definition at line 198 of file lookup.h.

Here is the caller graph for this function:

◆ LookupCachedProperty()

bool v8::internal::LookupIterator::LookupCachedProperty ( DirectHandle< AccessorPair > accessor)
private

Definition at line 1457 of file lookup.cc.

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

◆ LookupInHolder()

template<bool is_element>
State v8::internal::LookupIterator::LookupInHolder ( Tagged< Map > map,
Tagged< JSReceiver > holder )
inlineprivate

Definition at line 315 of file lookup.h.

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

◆ LookupInRegularHolder()

template<bool is_element>
LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder ( Tagged< Map > map,
Tagged< JSReceiver > holder )
private

Definition at line 1337 of file lookup.cc.

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

◆ LookupInSpecialHolder()

template<bool is_element>
LookupIterator::State v8::internal::LookupIterator::LookupInSpecialHolder ( Tagged< Map > map,
Tagged< JSReceiver > holder )
private

Definition at line 1281 of file lookup.cc.

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

◆ name()

DirectHandle< Name > v8::internal::LookupIterator::name ( ) const
inline

Definition at line 241 of file lookup-inl.h.

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

◆ Next()

void v8::internal::LookupIterator::Next ( )

Definition at line 63 of file lookup.cc.

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

◆ NextHolder()

Tagged< JSReceiver > v8::internal::LookupIterator::NextHolder ( Tagged< Map > map)
inlineprivate

Definition at line 1241 of file lookup.cc.

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

◆ NextInternal()

template<bool is_element>
void v8::internal::LookupIterator::NextInternal ( Tagged< Map > map,
Tagged< JSReceiver > holder )
private

Definition at line 84 of file lookup.cc.

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

◆ NotFound() [1/2]

void v8::internal::LookupIterator::NotFound ( )
inline

Definition at line 181 of file lookup.h.

Here is the caller graph for this function:

◆ NotFound() [2/2]

LookupIterator::State v8::internal::LookupIterator::NotFound ( Tagged< JSReceiver > const holder) const
private

Definition at line 1252 of file lookup.cc.

Here is the call graph for this function:

◆ PrepareForDataProperty()

void v8::internal::LookupIterator::PrepareForDataProperty ( DirectHandle< Object > value)

Definition at line 383 of file lookup.cc.

Here is the call graph for this function:

◆ PrepareTransitionToDataProperty()

void v8::internal::LookupIterator::PrepareTransitionToDataProperty ( DirectHandle< JSReceiver > receiver,
DirectHandle< Object > value,
PropertyAttributes attributes,
StoreOrigin store_origin )

Definition at line 613 of file lookup.cc.

Here is the call graph for this function:

◆ property_attributes()

PropertyAttributes v8::internal::LookupIterator::property_attributes ( ) const
inline

Definition at line 233 of file lookup.h.

◆ property_details()

PropertyDetails v8::internal::LookupIterator::property_details ( ) const
inline

Definition at line 229 of file lookup.h.

Here is the caller graph for this function:

◆ RecheckTypedArrayBounds()

void v8::internal::LookupIterator::RecheckTypedArrayBounds ( )

Definition at line 115 of file lookup.cc.

Here is the call graph for this function:

◆ ReconfigureDataProperty()

void v8::internal::LookupIterator::ReconfigureDataProperty ( DirectHandle< Object > value,
PropertyAttributes attributes )

Definition at line 509 of file lookup.cc.

Here is the call graph for this function:

◆ ReloadPropertyInformation()

template<bool is_element>
void v8::internal::LookupIterator::ReloadPropertyInformation ( )
private

Definition at line 192 of file lookup.cc.

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

◆ representation()

Representation v8::internal::LookupIterator::representation ( ) const
inline

Definition at line 239 of file lookup.h.

Here is the caller graph for this function:

◆ Restart()

void v8::internal::LookupIterator::Restart ( )
inline

Definition at line 146 of file lookup.h.

Here is the caller graph for this function:

◆ RestartInternal()

template<bool is_element>
template void v8::internal::LookupIterator::RestartInternal< false > ( InterceptorState interceptor_state)
private

Definition at line 105 of file lookup.cc.

Here is the call graph for this function:

◆ RestartLookupForNonMaskingInterceptors()

template<bool is_element>
void v8::internal::LookupIterator::RestartLookupForNonMaskingInterceptors ( )
inlineprivate

Definition at line 325 of file lookup.h.

Here is the caller graph for this function:

◆ SkipInterceptor()

template<bool is_element>
bool v8::internal::LookupIterator::SkipInterceptor ( Tagged< JSObject > holder)
private

Definition at line 1221 of file lookup.cc.

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

◆ Start() [1/2]

template<bool is_element>
template void v8::internal::LookupIterator::Start< false > ( )

Definition at line 30 of file lookup.cc.

Here is the call graph for this function:

◆ Start() [2/2]

template<bool is_element>
V8_EXPORT_PRIVATE void v8::internal::LookupIterator::Start ( )
private
Here is the caller graph for this function:

◆ state()

State v8::internal::LookupIterator::state ( ) const
inline

Definition at line 156 of file lookup.h.

Here is the caller graph for this function:

◆ SwapDataValue()

DirectHandle< Object > v8::internal::LookupIterator::SwapDataValue ( DirectHandle< Object > value,
SeqCstAccessTag tag )

Definition at line 1174 of file lookup.cc.

Here is the call graph for this function:

◆ transition_cell()

DirectHandle< PropertyCell > v8::internal::LookupIterator::transition_cell ( ) const
inline

Definition at line 277 of file lookup-inl.h.

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

◆ transition_map()

DirectHandle< Map > v8::internal::LookupIterator::transition_map ( ) const
inline

Definition at line 272 of file lookup-inl.h.

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

◆ TransitionToAccessorPair()

void v8::internal::LookupIterator::TransitionToAccessorPair ( DirectHandle< Object > pair,
PropertyAttributes attributes )

Definition at line 858 of file lookup.cc.

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

◆ TransitionToAccessorProperty()

void v8::internal::LookupIterator::TransitionToAccessorProperty ( DirectHandle< Object > getter,
DirectHandle< Object > setter,
PropertyAttributes attributes )

Definition at line 789 of file lookup.cc.

Here is the call graph for this function:

◆ TryLookupCachedProperty() [1/2]

bool v8::internal::LookupIterator::TryLookupCachedProperty ( )

Definition at line 1449 of file lookup.cc.

Here is the call graph for this function:

◆ TryLookupCachedProperty() [2/2]

bool v8::internal::LookupIterator::TryLookupCachedProperty ( DirectHandle< AccessorPair > accessor)

Definition at line 1443 of file lookup.cc.

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

◆ UpdateProtector() [1/2]

void v8::internal::LookupIterator::UpdateProtector ( )
inline

Definition at line 355 of file lookup-inl.h.

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

◆ UpdateProtector() [2/2]

void v8::internal::LookupIterator::UpdateProtector ( Isolate * isolate,
DirectHandle< JSAny > receiver,
DirectHandle< Name > name )
inlinestatic

Definition at line 327 of file lookup-inl.h.

Here is the call graph for this function:

◆ WriteDataValue() [1/2]

void v8::internal::LookupIterator::WriteDataValue ( DirectHandle< Object > value,
bool initializing_store )

Definition at line 1094 of file lookup.cc.

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

◆ WriteDataValue() [2/2]

void v8::internal::LookupIterator::WriteDataValue ( DirectHandle< Object > value,
SeqCstAccessTag tag )

Definition at line 1153 of file lookup.cc.

Here is the call graph for this function:

Member Data Documentation

◆ configuration_

const Configuration v8::internal::LookupIterator::configuration_
private

Definition at line 365 of file lookup.h.

◆ has_property_

bool v8::internal::LookupIterator::has_property_ = false
private

Definition at line 367 of file lookup.h.

◆ holder_

DirectHandle<JSReceiver> v8::internal::LookupIterator::holder_
private

Definition at line 374 of file lookup.h.

◆ index_

const size_t v8::internal::LookupIterator::index_
private

Definition at line 376 of file lookup.h.

◆ interceptor_state_

InterceptorState v8::internal::LookupIterator::interceptor_state_ = InterceptorState::kUninitialized
private

Definition at line 368 of file lookup.h.

◆ isolate_

Isolate* const v8::internal::LookupIterator::isolate_
private

Definition at line 370 of file lookup.h.

◆ kInvalidIndex

const size_t v8::internal::LookupIterator::kInvalidIndex = std::numeric_limits<size_t>::max()
staticprivate

Definition at line 279 of file lookup.h.

◆ lookup_start_object_

const DirectHandle<JSAny> v8::internal::LookupIterator::lookup_start_object_
private

Definition at line 375 of file lookup.h.

◆ name_

DirectHandle<Name> v8::internal::LookupIterator::name_
private

Definition at line 371 of file lookup.h.

◆ number_

InternalIndex v8::internal::LookupIterator::number_ = InternalIndex::NotFound()
private

Definition at line 377 of file lookup.h.

◆ property_details_

PropertyDetails v8::internal::LookupIterator::property_details_ = PropertyDetails::Empty()
private

Definition at line 369 of file lookup.h.

◆ PropertyKey

friend v8::internal::LookupIterator::PropertyKey
private

Definition at line 277 of file lookup.h.

◆ receiver_

const DirectHandle<JSAny> v8::internal::LookupIterator::receiver_
private

Definition at line 373 of file lookup.h.

◆ state_

State v8::internal::LookupIterator::state_ = NOT_FOUND
private

Definition at line 366 of file lookup.h.

◆ transition_

DirectHandle<UnionOf<Map, PropertyCell> > v8::internal::LookupIterator::transition_
private

Definition at line 372 of file lookup.h.


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