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

#include <property-access-builder.h>

Collaboration diagram for v8::internal::compiler::PropertyAccessBuilder:

Public Member Functions

 PropertyAccessBuilder (JSGraph *jsgraph, JSHeapBroker *broker)
 
bool TryBuildStringCheck (JSHeapBroker *broker, ZoneVector< MapRef > const &maps, Node **receiver, Effect *effect, Control control)
 
bool TryBuildNumberCheck (JSHeapBroker *broker, ZoneVector< MapRef > const &maps, Node **receiver, Effect *effect, Control control)
 
void BuildCheckMaps (Node *object, Effect *effect, Control control, ZoneVector< MapRef > const &maps, bool has_deprecated_map_without_migration_target=false)
 
Node * BuildCheckValue (Node *receiver, Effect *effect, Control control, ObjectRef value)
 
Node * BuildCheckSmi (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
Node * BuildCheckNumber (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
Node * BuildCheckNumberFitsInt32 (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
Node * BuildLoadDataField (NameRef name, PropertyAccessInfo const &access_info, Node *lookup_start_object, Node **effect, Node **control)
 
std::optional< Node * > FoldLoadDictPrototypeConstant (PropertyAccessInfo const &access_info)
 

Static Public Member Functions

static MachineRepresentation ConvertRepresentation (Representation representation)
 

Private Member Functions

JSGraph * jsgraph () const
 
JSHeapBroker * broker () const
 
CompilationDependencies * dependencies () const
 
TFGraph * graph () const
 
Isolate * isolate () const
 
CommonOperatorBuilder * common () const
 
SimplifiedOperatorBuilder * simplified () const
 
Node * TryFoldLoadConstantDataField (NameRef name, PropertyAccessInfo const &access_info, Node *lookup_start_object)
 
Node * ResolveHolder (PropertyAccessInfo const &access_info, Node *lookup_start_object)
 
Node * BuildLoadDataField (NameRef name, Node *holder, FieldAccess &&field_access, bool is_inobject, Node **effect, Node **control)
 

Private Attributes

JSGraph * jsgraph_
 
JSHeapBroker * broker_
 

Detailed Description

Definition at line 30 of file property-access-builder.h.

Constructor & Destructor Documentation

◆ PropertyAccessBuilder()

v8::internal::compiler::PropertyAccessBuilder::PropertyAccessBuilder ( JSGraph * jsgraph,
JSHeapBroker * broker )
inline

Definition at line 32 of file property-access-builder.h.

Member Function Documentation

◆ broker()

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

Definition at line 77 of file property-access-builder.h.

Here is the caller graph for this function:

◆ BuildCheckMaps()

void v8::internal::compiler::PropertyAccessBuilder::BuildCheckMaps ( Node * object,
Effect * effect,
Control control,
ZoneVector< MapRef > const & maps,
bool has_deprecated_map_without_migration_target = false )

Definition at line 108 of file property-access-builder.cc.

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

◆ BuildCheckNumber()

Node * v8::internal::compiler::PropertyAccessBuilder::BuildCheckNumber ( Node * value,
Effect * effect,
Control control,
FeedbackSource feedback_source = FeedbackSource() )

Definition at line 165 of file property-access-builder.cc.

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

◆ BuildCheckNumberFitsInt32()

Node * v8::internal::compiler::PropertyAccessBuilder::BuildCheckNumberFitsInt32 ( Node * value,
Effect * effect,
Control control,
FeedbackSource feedback_source = FeedbackSource() )

Definition at line 173 of file property-access-builder.cc.

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

◆ BuildCheckSmi()

Node * v8::internal::compiler::PropertyAccessBuilder::BuildCheckSmi ( Node * value,
Effect * effect,
Control control,
FeedbackSource feedback_source = FeedbackSource() )

Definition at line 157 of file property-access-builder.cc.

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

◆ BuildCheckValue()

Node * v8::internal::compiler::PropertyAccessBuilder::BuildCheckValue ( Node * receiver,
Effect * effect,
Control control,
ObjectRef value )

Definition at line 142 of file property-access-builder.cc.

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

◆ BuildLoadDataField() [1/2]

Node * v8::internal::compiler::PropertyAccessBuilder::BuildLoadDataField ( NameRef name,
Node * holder,
FieldAccess && field_access,
bool is_inobject,
Node ** effect,
Node ** control )
private

Definition at line 288 of file property-access-builder.cc.

Here is the call graph for this function:

◆ BuildLoadDataField() [2/2]

Node * v8::internal::compiler::PropertyAccessBuilder::BuildLoadDataField ( NameRef name,
PropertyAccessInfo const & access_info,
Node * lookup_start_object,
Node ** effect,
Node ** control )

Definition at line 351 of file property-access-builder.cc.

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

◆ common()

CommonOperatorBuilder * v8::internal::compiler::PropertyAccessBuilder::common ( ) const
private

Definition at line 29 of file property-access-builder.cc.

Here is the call graph for this function:

◆ ConvertRepresentation()

MachineRepresentation v8::internal::compiler::PropertyAccessBuilder::ConvertRepresentation ( Representation representation)
static

Definition at line 191 of file property-access-builder.cc.

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

◆ dependencies()

CompilationDependencies * v8::internal::compiler::PropertyAccessBuilder::dependencies ( ) const
inlineprivate

Definition at line 78 of file property-access-builder.h.

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

◆ FoldLoadDictPrototypeConstant()

std::optional< Node * > v8::internal::compiler::PropertyAccessBuilder::FoldLoadDictPrototypeConstant ( PropertyAccessInfo const & access_info)

Definition at line 207 of file property-access-builder.cc.

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

◆ graph()

TFGraph * v8::internal::compiler::PropertyAccessBuilder::graph ( ) const
private

Definition at line 25 of file property-access-builder.cc.

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

◆ isolate()

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

Definition at line 27 of file property-access-builder.cc.

Here is the call graph for this function:

◆ jsgraph()

JSGraph * v8::internal::compiler::PropertyAccessBuilder::jsgraph ( ) const
inlineprivate

Definition at line 76 of file property-access-builder.h.

Here is the caller graph for this function:

◆ ResolveHolder()

Node * v8::internal::compiler::PropertyAccessBuilder::ResolveHolder ( PropertyAccessInfo const & access_info,
Node * lookup_start_object )
private

Definition at line 182 of file property-access-builder.cc.

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

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::PropertyAccessBuilder::simplified ( ) const
private

Definition at line 33 of file property-access-builder.cc.

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

◆ TryBuildNumberCheck()

bool v8::internal::compiler::PropertyAccessBuilder::TryBuildNumberCheck ( JSHeapBroker * broker,
ZoneVector< MapRef > const & maps,
Node ** receiver,
Effect * effect,
Control control )

Definition at line 94 of file property-access-builder.cc.

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

◆ TryBuildStringCheck()

bool v8::internal::compiler::PropertyAccessBuilder::TryBuildStringCheck ( JSHeapBroker * broker,
ZoneVector< MapRef > const & maps,
Node ** receiver,
Effect * effect,
Control control )

Definition at line 79 of file property-access-builder.cc.

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

◆ TryFoldLoadConstantDataField()

Node * v8::internal::compiler::PropertyAccessBuilder::TryFoldLoadConstantDataField ( NameRef name,
PropertyAccessInfo const & access_info,
Node * lookup_start_object )
private

Definition at line 240 of file property-access-builder.cc.

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

Member Data Documentation

◆ broker_

JSHeapBroker* v8::internal::compiler::PropertyAccessBuilder::broker_
private

Definition at line 99 of file property-access-builder.h.

◆ jsgraph_

JSGraph* v8::internal::compiler::PropertyAccessBuilder::jsgraph_
private

Definition at line 98 of file property-access-builder.h.


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