5#ifndef V8_COMPILER_PROPERTY_ACCESS_BUILDER_H_
6#define V8_COMPILER_PROPERTY_ACCESS_BUILDER_H_
21class CommonOperatorBuilder;
22class CompilationDependencies;
26class PropertyAccessInfo;
27class SimplifiedOperatorBuilder;
45 bool has_deprecated_map_without_migration_target =
false);
63 Node* lookup_start_object,
Node** effect,
88 Node* lookup_start_object);
92 Node* lookup_start_object);
CompilationDependencies * dependencies() const
CompilationDependencies * dependencies() const
Node * TryFoldLoadConstantDataField(NameRef name, PropertyAccessInfo const &access_info, Node *lookup_start_object)
static MachineRepresentation ConvertRepresentation(Representation representation)
PropertyAccessBuilder(JSGraph *jsgraph, JSHeapBroker *broker)
Node * ResolveHolder(PropertyAccessInfo const &access_info, Node *lookup_start_object)
CommonOperatorBuilder * common() const
JSGraph * jsgraph() const
SimplifiedOperatorBuilder * simplified() const
Node * BuildCheckNumberFitsInt32(Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
bool TryBuildNumberCheck(JSHeapBroker *broker, ZoneVector< MapRef > const &maps, Node **receiver, Effect *effect, Control control)
Node * BuildCheckValue(Node *receiver, Effect *effect, Control control, ObjectRef value)
JSHeapBroker * broker() const
Node * BuildCheckSmi(Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
Node * BuildCheckNumber(Node *value, Effect *effect, Control control, FeedbackSource feedback_source=FeedbackSource())
bool TryBuildStringCheck(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)
Isolate * isolate() const
std::optional< Node * > FoldLoadDictPrototypeConstant(PropertyAccessInfo const &access_info)
Node * BuildLoadDataField(NameRef name, PropertyAccessInfo const &access_info, Node *lookup_start_object, Node **effect, Node **control)
bool HasOnlyNonResizableTypedArrayMaps(JSHeapBroker *broker, ZoneVector< MapRef > const &maps)
bool HasOnlyStringMaps(JSHeapBroker *broker, ZoneVector< MapRef > const &maps)
bool HasOnlyStringWrapperMaps(JSHeapBroker *broker, ZoneVector< MapRef > const &maps)