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

#include <handler-configuration.h>

Inheritance diagram for v8::internal::LoadHandler:
Collaboration diagram for v8::internal::LoadHandler:

Public Types

enum class  Kind {
  kElement , kIndexedString , kNormal , kGlobal ,
  kField , kConstantFromPrototype , kAccessorFromPrototype , kNativeDataProperty ,
  kApiGetter , kInterceptor , kSlow , kProxy ,
  kNonExistent , kModuleExport
}
 
using KindBits = base::BitField<Kind, 0, 4>
 
using DoAccessCheckOnLookupStartObjectBits = KindBits::Next<bool, 1>
 
using LookupOnLookupStartObjectBits
 
using DescriptorBits
 
using IsWasmStructBits = LookupOnLookupStartObjectBits::Next<bool, 1>
 
using IsInobjectBits = IsWasmStructBits::Next<bool, 1>
 
using IsDoubleBits = IsInobjectBits::Next<bool, 1>
 
using FieldIndexBits
 
using WasmFieldTypeBits = IsWasmStructBits::Next<WasmValueType, 4>
 
using WasmFieldOffsetBits = WasmFieldTypeBits::Next<unsigned, 20>
 
using AllowOutOfBoundsBits = LookupOnLookupStartObjectBits::Next<bool, 1>
 
using IsWasmArrayBits = AllowOutOfBoundsBits::Next<bool, 1>
 
using IsJsArrayBits = IsWasmArrayBits::Next<bool, 1>
 
using AllowHandlingHole = IsJsArrayBits::Next<bool, 1>
 
using ElementsKindBits = AllowHandlingHole::Next<ElementsKind, 8>
 
using WasmArrayTypeBits = IsWasmArrayBits::Next<WasmValueType, 4>
 
using ExportsIndexBits
 
- Public Types inherited from v8::internal::StructLayout
using BodyDescriptor = StructBodyDescriptor
 

Static Public Member Functions

static Kind GetHandlerKind (Tagged< Smi > smi_handler)
 
static Handle< SmiLoadNormal (Isolate *isolate)
 
static Handle< SmiLoadGlobal (Isolate *isolate)
 
static Handle< SmiLoadInterceptor (Isolate *isolate)
 
static Handle< SmiLoadSlow (Isolate *isolate)
 
static Handle< SmiLoadField (Isolate *isolate, FieldIndex field_index)
 
static Handle< SmiLoadConstantFromPrototype (Isolate *isolate)
 
static DirectHandle< SmiLoadAccessorFromPrototype (Isolate *isolate)
 
static Handle< SmiLoadProxy (Isolate *isolate)
 
static Handle< SmiLoadNativeDataProperty (Isolate *isolate, int descriptor)
 
static Handle< SmiLoadApiGetter (Isolate *isolate)
 
static Handle< SmiLoadModuleExport (Isolate *isolate, int index)
 
static DirectHandle< SmiLoadWasmStructField (Isolate *isolate, WasmValueType type, int offset)
 
static DirectHandle< SmiLoadWasmArrayElement (Isolate *isolate, WasmValueType type)
 
static Handle< ObjectLoadFullChain (Isolate *isolate, DirectHandle< Map > receiver_map, const MaybeObjectDirectHandle &holder, Handle< Smi > smi_handler)
 
static Handle< ObjectLoadFromPrototype (Isolate *isolate, DirectHandle< Map > receiver_map, DirectHandle< JSReceiver > holder, Tagged< Smi > smi_handler, MaybeObjectDirectHandle maybe_data1=MaybeObjectDirectHandle(), MaybeObjectDirectHandle maybe_data2=MaybeObjectDirectHandle())
 
static Handle< SmiLoadNonExistent (Isolate *isolate)
 
static Handle< SmiLoadElement (Isolate *isolate, ElementsKind elements_kind, bool is_js_array, KeyedAccessLoadMode load_mode)
 
static Handle< SmiLoadIndexedString (Isolate *isolate, KeyedAccessLoadMode load_mode)
 
static KeyedAccessLoadMode GetKeyedAccessLoadMode (Tagged< MaybeObject > handler)
 
static bool CanHandleHolderNotLookupStart (Tagged< Object > handler)
 
- Static Public Member Functions inherited from v8::internal::DataHandler
static constexpr int OffsetOf (int index)
 
static constexpr int SizeFor (int count)
 

Additional Inherited Members

- Public Member Functions inherited from v8::internal::DataHandler
Tagged< UnionOf< Smi, Code > > smi_handler () const
 
void set_smi_handler (Tagged< Smi > value)
 
void set_smi_handler (Tagged< Code > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< UnionOf< Smi, Cell > > validity_cell () const
 
void set_validity_cell (Tagged< UnionOf< Smi, Cell > > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
int data_field_count () const
 
Tagged< MaybeObjectdata1 () const
 
void set_data1 (Tagged< MaybeObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< MaybeObjectdata2 () const
 
void set_data2 (Tagged< MaybeObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< MaybeObjectdata3 () const
 
void set_data3 (Tagged< MaybeObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
- Public Member Functions inherited from v8::internal::StructLayout
void BriefPrintDetails (std::ostream &os)
 
- Public Member Functions inherited from v8::internal::HeapObjectLayout
 HeapObjectLayout ()=delete
 
Tagged< Mapmap () const
 
Tagged< Mapmap (AcquireLoadTag) const
 
MapWord map_word (RelaxedLoadTag) const
 
void set_map (Isolate *isolate, Tagged< Map > value)
 
template<typename IsolateT >
void set_map (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
template<typename IsolateT >
void set_map_safe_transition (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
void set_map_safe_transition_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
template<typename IsolateT >
void set_map_after_allocation (IsolateT *isolate, Tagged< Map > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void set_map_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, ReleaseStoreTag)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, RelaxedStoreTag)
 
Address ptr () const
 
Address address () const
 
ReadOnlyRoots EarlyGetReadOnlyRoots () const
 
int Size () const
 
V8_EXPORT_PRIVATE int SizeFromMap (Tagged< Map > map) const
 
WriteBarrierMode GetWriteBarrierMode (const DisallowGarbageCollection &promise)
 

Detailed Description

Definition at line 44 of file handler-configuration.h.

Member Typedef Documentation

◆ AllowHandlingHole

◆ AllowOutOfBoundsBits

◆ DescriptorBits

◆ DoAccessCheckOnLookupStartObjectBits

◆ ElementsKindBits

◆ ExportsIndexBits

◆ FieldIndexBits

◆ IsDoubleBits

◆ IsInobjectBits

◆ IsJsArrayBits

◆ IsWasmArrayBits

◆ IsWasmStructBits

◆ KindBits

◆ LookupOnLookupStartObjectBits

◆ WasmArrayTypeBits

◆ WasmFieldOffsetBits

◆ WasmFieldTypeBits

Member Enumeration Documentation

◆ Kind

Enumerator
kElement 
kIndexedString 
kNormal 
kGlobal 
kField 
kConstantFromPrototype 
kAccessorFromPrototype 
kNativeDataProperty 
kApiGetter 
kInterceptor 
kSlow 
kProxy 
kNonExistent 
kModuleExport 

Definition at line 49 of file handler-configuration.h.

Member Function Documentation

◆ CanHandleHolderNotLookupStart()

bool v8::internal::LoadHandler::CanHandleHolderNotLookupStart ( Tagged< Object > handler)
static

Definition at line 355 of file handler-configuration.cc.

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

◆ GetHandlerKind()

LoadHandler::Kind v8::internal::LoadHandler::GetHandlerKind ( Tagged< Smi > smi_handler)
inlinestatic

Definition at line 26 of file handler-configuration-inl.h.

Here is the call graph for this function:

◆ GetKeyedAccessLoadMode()

KeyedAccessLoadMode v8::internal::LoadHandler::GetKeyedAccessLoadMode ( Tagged< MaybeObject > handler)
static

Definition at line 173 of file handler-configuration.cc.

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

◆ LoadAccessorFromPrototype()

DirectHandle< Smi > v8::internal::LoadHandler::LoadAccessorFromPrototype ( Isolate * isolate)
inlinestatic

Definition at line 72 of file handler-configuration-inl.h.

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

◆ LoadApiGetter()

Handle< Smi > v8::internal::LoadHandler::LoadApiGetter ( Isolate * isolate)
inlinestatic

Definition at line 89 of file handler-configuration-inl.h.

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

◆ LoadConstantFromPrototype()

Handle< Smi > v8::internal::LoadHandler::LoadConstantFromPrototype ( Isolate * isolate)
inlinestatic

Definition at line 67 of file handler-configuration-inl.h.

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

◆ LoadElement()

Handle< Smi > v8::internal::LoadHandler::LoadElement ( Isolate * isolate,
ElementsKind elements_kind,
bool is_js_array,
KeyedAccessLoadMode load_mode )
inlinestatic

Definition at line 105 of file handler-configuration-inl.h.

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

◆ LoadField()

Handle< Smi > v8::internal::LoadHandler::LoadField ( Isolate * isolate,
FieldIndex field_index )
inlinestatic

Definition at line 50 of file handler-configuration-inl.h.

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

◆ LoadFromPrototype()

Handle< Object > v8::internal::LoadHandler::LoadFromPrototype ( Isolate * isolate,
DirectHandle< Map > receiver_map,
DirectHandle< JSReceiver > holder,
Tagged< Smi > smi_handler,
MaybeObjectDirectHandle maybe_data1 = MaybeObjectDirectHandle(),
MaybeObjectDirectHandle maybe_data2 = MaybeObjectDirectHandle() )
static

Definition at line 115 of file handler-configuration.cc.

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

◆ LoadFullChain()

Handle< Object > v8::internal::LoadHandler::LoadFullChain ( Isolate * isolate,
DirectHandle< Map > receiver_map,
const MaybeObjectDirectHandle & holder,
Handle< Smi > smi_handler )
static

Definition at line 143 of file handler-configuration.cc.

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

◆ LoadGlobal()

Handle< Smi > v8::internal::LoadHandler::LoadGlobal ( Isolate * isolate)
inlinestatic

Definition at line 35 of file handler-configuration-inl.h.

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

◆ LoadIndexedString()

Handle< Smi > v8::internal::LoadHandler::LoadIndexedString ( Isolate * isolate,
KeyedAccessLoadMode load_mode )
inlinestatic

Definition at line 119 of file handler-configuration-inl.h.

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

◆ LoadInterceptor()

Handle< Smi > v8::internal::LoadHandler::LoadInterceptor ( Isolate * isolate)
inlinestatic

Definition at line 40 of file handler-configuration-inl.h.

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

◆ LoadModuleExport()

Handle< Smi > v8::internal::LoadHandler::LoadModuleExport ( Isolate * isolate,
int index )
inlinestatic

Definition at line 94 of file handler-configuration-inl.h.

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

◆ LoadNativeDataProperty()

Handle< Smi > v8::internal::LoadHandler::LoadNativeDataProperty ( Isolate * isolate,
int descriptor )
inlinestatic

Definition at line 82 of file handler-configuration-inl.h.

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

◆ LoadNonExistent()

Handle< Smi > v8::internal::LoadHandler::LoadNonExistent ( Isolate * isolate)
inlinestatic

Definition at line 100 of file handler-configuration-inl.h.

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

◆ LoadNormal()

Handle< Smi > v8::internal::LoadHandler::LoadNormal ( Isolate * isolate)
inlinestatic

Definition at line 30 of file handler-configuration-inl.h.

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

◆ LoadProxy()

Handle< Smi > v8::internal::LoadHandler::LoadProxy ( Isolate * isolate)
inlinestatic

Definition at line 77 of file handler-configuration-inl.h.

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

◆ LoadSlow()

Handle< Smi > v8::internal::LoadHandler::LoadSlow ( Isolate * isolate)
inlinestatic

Definition at line 45 of file handler-configuration-inl.h.

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

◆ LoadWasmArrayElement()

DirectHandle< Smi > v8::internal::LoadHandler::LoadWasmArrayElement ( Isolate * isolate,
WasmValueType type )
inlinestatic

Definition at line 126 of file handler-configuration-inl.h.

Here is the call graph for this function:

◆ LoadWasmStructField()

DirectHandle< Smi > v8::internal::LoadHandler::LoadWasmStructField ( Isolate * isolate,
WasmValueType type,
int offset )
inlinestatic

Definition at line 58 of file handler-configuration-inl.h.

Here is the call graph for this function:

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