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)
 
NodeBuildCheckValue (Node *receiver, Effect *effect, Control control, ObjectRef value)
 
NodeBuildCheckSmi (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
NodeBuildCheckNumber (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
NodeBuildCheckNumberFitsInt32 (Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
 
NodeBuildLoadDataField (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

JSGraphjsgraph () const
 
JSHeapBrokerbroker () const
 
CompilationDependenciesdependencies () const
 
TFGraphgraph () const
 
Isolateisolate () const
 
CommonOperatorBuildercommon () const
 
SimplifiedOperatorBuildersimplified () const
 
NodeTryFoldLoadConstantDataField (NameRef name, PropertyAccessInfo const &access_info, Node *lookup_start_object)
 
NodeResolveHolder (PropertyAccessInfo const &access_info, Node *lookup_start_object)
 
NodeBuildLoadDataField (NameRef name, Node *holder, FieldAccess &&field_access, bool is_inobject, Node **effect, Node **control)
 

Private Attributes

JSGraphjsgraph_
 
JSHeapBrokerbroker_
 

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: