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

#include <access-info.h>

Collaboration diagram for v8::internal::compiler::AccessInfoFactory:

Public Member Functions

 AccessInfoFactory (JSHeapBroker *broker, Zone *zone)
 
std::optional< ElementAccessInfoComputeElementAccessInfo (MapRef map, AccessMode access_mode) const
 
bool ComputeElementAccessInfos (ElementAccessFeedback const &feedback, ZoneVector< ElementAccessInfo > *access_infos) const
 
PropertyAccessInfo ComputePropertyAccessInfo (MapRef map, NameRef name, AccessMode access_mode) const
 
PropertyAccessInfo ComputeDictionaryProtoAccessInfo (MapRef receiver_map, NameRef name, JSObjectRef holder, InternalIndex dict_index, AccessMode access_mode, PropertyDetails details) const
 
bool FinalizePropertyAccessInfos (ZoneVector< PropertyAccessInfo > infos, AccessMode access_mode, ZoneVector< PropertyAccessInfo > *result) const
 
PropertyAccessInfo FinalizePropertyAccessInfosAsOne (ZoneVector< PropertyAccessInfo > infos, AccessMode access_mode) const
 

Private Member Functions

std::optional< ElementAccessInfoConsolidateElementLoad (ElementAccessFeedback const &feedback) const
 
PropertyAccessInfo LookupSpecialFieldAccessor (MapRef map, NameRef name) const
 
PropertyAccessInfo LookupTransition (MapRef map, NameRef name, OptionalJSObjectRef holder, PropertyAttributes attrs) const
 
PropertyAccessInfo ComputeDataFieldAccessInfo (MapRef receiver_map, MapRef map, NameRef name, OptionalJSObjectRef holder, InternalIndex descriptor, AccessMode access_mode) const
 
PropertyAccessInfo ComputeAccessorDescriptorAccessInfo (MapRef receiver_map, NameRef name, MapRef map, OptionalJSObjectRef holder, InternalIndex descriptor, AccessMode access_mode) const
 
PropertyAccessInfo Invalid () const
 
void MergePropertyAccessInfos (ZoneVector< PropertyAccessInfo > infos, AccessMode access_mode, ZoneVector< PropertyAccessInfo > *result) const
 
bool TryLoadPropertyDetails (MapRef map, OptionalJSObjectRef maybe_holder, NameRef name, InternalIndex *index_out, PropertyDetails *details_out) const
 
CompilationDependenciesdependencies () const
 
JSHeapBrokerbroker () const
 
Isolateisolate () const
 
Zonezone () const
 
 AccessInfoFactory (const AccessInfoFactory &)=delete
 
AccessInfoFactoryoperator= (const AccessInfoFactory &)=delete
 

Private Attributes

JSHeapBroker *const broker_
 
TypeCache const *const type_cache_
 
Zone *const zone_
 

Detailed Description

Definition at line 234 of file access-info.h.

Constructor & Destructor Documentation

◆ AccessInfoFactory() [1/2]

v8::internal::compiler::AccessInfoFactory::AccessInfoFactory ( JSHeapBroker * broker,
Zone * zone )

Definition at line 384 of file access-info.cc.

◆ AccessInfoFactory() [2/2]

v8::internal::compiler::AccessInfoFactory::AccessInfoFactory ( const AccessInfoFactory & )
privatedelete

Member Function Documentation

◆ broker()

JSHeapBroker * v8::internal::compiler::AccessInfoFactory::broker ( ) const
inlineprivate

Definition at line 295 of file access-info.h.

Here is the caller graph for this function:

◆ ComputeAccessorDescriptorAccessInfo()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::ComputeAccessorDescriptorAccessInfo ( MapRef receiver_map,
NameRef name,
MapRef map,
OptionalJSObjectRef holder,
InternalIndex descriptor,
AccessMode access_mode ) const
private

Definition at line 653 of file access-info.cc.

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

◆ ComputeDataFieldAccessInfo()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::ComputeDataFieldAccessInfo ( MapRef receiver_map,
MapRef map,
NameRef name,
OptionalJSObjectRef holder,
InternalIndex descriptor,
AccessMode access_mode ) const
private

Definition at line 427 of file access-info.cc.

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

◆ ComputeDictionaryProtoAccessInfo()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::ComputeDictionaryProtoAccessInfo ( MapRef receiver_map,
NameRef name,
JSObjectRef holder,
InternalIndex dict_index,
AccessMode access_mode,
PropertyDetails details ) const

Definition at line 672 of file access-info.cc.

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

◆ ComputeElementAccessInfo()

std::optional< ElementAccessInfo > v8::internal::compiler::AccessInfoFactory::ComputeElementAccessInfo ( MapRef map,
AccessMode access_mode ) const

Definition at line 387 of file access-info.cc.

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

◆ ComputeElementAccessInfos()

bool v8::internal::compiler::AccessInfoFactory::ComputeElementAccessInfos ( ElementAccessFeedback const & feedback,
ZoneVector< ElementAccessInfo > * access_infos ) const

Definition at line 393 of file access-info.cc.

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

◆ ComputePropertyAccessInfo()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::ComputePropertyAccessInfo ( MapRef map,
NameRef name,
AccessMode access_mode ) const

Definition at line 743 of file access-info.cc.

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

◆ ConsolidateElementLoad()

std::optional< ElementAccessInfo > v8::internal::compiler::AccessInfoFactory::ConsolidateElementLoad ( ElementAccessFeedback const & feedback) const
private

Definition at line 1054 of file access-info.cc.

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

◆ dependencies()

CompilationDependencies * v8::internal::compiler::AccessInfoFactory::dependencies ( ) const
private

Definition at line 1026 of file access-info.cc.

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

◆ FinalizePropertyAccessInfos()

bool v8::internal::compiler::AccessInfoFactory::FinalizePropertyAccessInfos ( ZoneVector< PropertyAccessInfo > infos,
AccessMode access_mode,
ZoneVector< PropertyAccessInfo > * result ) const

Definition at line 995 of file access-info.cc.

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

◆ FinalizePropertyAccessInfosAsOne()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::FinalizePropertyAccessInfosAsOne ( ZoneVector< PropertyAccessInfo > infos,
AccessMode access_mode ) const

Definition at line 973 of file access-info.cc.

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

◆ Invalid()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::Invalid ( ) const
inlineprivate

Definition at line 282 of file access-info.h.

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

◆ isolate()

Isolate * v8::internal::compiler::AccessInfoFactory::isolate ( ) const
private

Definition at line 1029 of file access-info.cc.

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

◆ LookupSpecialFieldAccessor()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::LookupSpecialFieldAccessor ( MapRef map,
NameRef name ) const
private

Definition at line 1081 of file access-info.cc.

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

◆ LookupTransition()

PropertyAccessInfo v8::internal::compiler::AccessInfoFactory::LookupTransition ( MapRef map,
NameRef name,
OptionalJSObjectRef holder,
PropertyAttributes attrs ) const
private

Definition at line 1142 of file access-info.cc.

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

◆ MergePropertyAccessInfos()

void v8::internal::compiler::AccessInfoFactory::MergePropertyAccessInfos ( ZoneVector< PropertyAccessInfo > infos,
AccessMode access_mode,
ZoneVector< PropertyAccessInfo > * result ) const
private

Definition at line 1009 of file access-info.cc.

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

◆ operator=()

AccessInfoFactory & v8::internal::compiler::AccessInfoFactory::operator= ( const AccessInfoFactory & )
privatedelete

◆ TryLoadPropertyDetails()

bool v8::internal::compiler::AccessInfoFactory::TryLoadPropertyDetails ( MapRef map,
OptionalJSObjectRef maybe_holder,
NameRef name,
InternalIndex * index_out,
PropertyDetails * details_out ) const
private

Definition at line 699 of file access-info.cc.

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

◆ zone()

Zone * v8::internal::compiler::AccessInfoFactory::zone ( ) const
inlineprivate

Definition at line 297 of file access-info.h.

Here is the caller graph for this function:

Member Data Documentation

◆ broker_

JSHeapBroker* const v8::internal::compiler::AccessInfoFactory::broker_
private

Definition at line 299 of file access-info.h.

◆ type_cache_

TypeCache const* const v8::internal::compiler::AccessInfoFactory::type_cache_
private

Definition at line 300 of file access-info.h.

◆ zone_

Zone* const v8::internal::compiler::AccessInfoFactory::zone_
private

Definition at line 301 of file access-info.h.


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