Lines Matching refs:holder

36   // load and the holder is a prototype. The latter ensures a 1:1
104 Zone* zone, MapRef receiver_map, base::Optional<JSObjectRef> holder) {
105 return PropertyAccessInfo(zone, kNotFound, holder, {{receiver_map}, zone});
114 base::Optional<JSObjectRef> holder, base::Optional<MapRef> transition_map) {
121 : holder.has_value() ? holder->map().object()
123 return PropertyAccessInfo(kDataField, holder, transition_map, field_index,
135 base::Optional<JSObjectRef> holder, base::Optional<MapRef> transition_map) {
137 return PropertyAccessInfo(kFastDataConstant, holder, transition_map,
146 base::Optional<JSObjectRef> holder) {
147 return PropertyAccessInfo(zone, kFastAccessorConstant, holder, constant, {},
167 Zone* zone, MapRef receiver_map, JSObjectRef holder,
169 return PropertyAccessInfo(zone, kDictionaryProtoDataConstant, holder,
175 Zone* zone, MapRef receiver_map, base::Optional<JSObjectRef> holder,
177 return PropertyAccessInfo(zone, kDictionaryProtoAccessorConstant, holder,
190 Zone* zone, Kind kind, base::Optional<JSObjectRef> holder,
194 holder_(holder),
201 Zone* zone, Kind kind, base::Optional<JSObjectRef> holder,
207 holder_(holder),
217 Kind kind, base::Optional<JSObjectRef> holder,
225 holder_(holder),
239 Zone* zone, Kind kind, base::Optional<JSObjectRef> holder,
244 holder_(holder),
412 base::Optional<JSObjectRef> holder, InternalIndex descriptor,
508 holder, {});
514 holder, {});
526 MapRef map, base::Optional<JSObjectRef> holder, AccessMode access_mode,
555 holder);
591 holder = {};
593 holder = TryMakeRef(broker, holder_handle);
594 if (!holder.has_value()) return PropertyAccessInfo::Invalid(zone);
613 zone, receiver_map, holder, accessor_ref.value(), name);
616 zone, receiver_map, accessor_ref.value(), holder);
624 base::Optional<JSObjectRef> holder, InternalIndex descriptor,
637 receiver_map, name, holder_map, holder,
642 MapRef receiver_map, NameRef name, JSObjectRef holder,
646 DCHECK(holder.map().object()->is_prototype_map());
656 zone(), receiver_map, holder, dictionary_index, name);
660 return JSObject::DictionaryPropertyAt(isolate(), holder.object(),
664 receiver_map, name, holder.map(), holder,
679 // as a receiver. Consider other means of obtaining the holder in this
682 // Without the holder, we can't get the property details.
686 Handle<JSObject> holder = maybe_holder->object();
688 SwissNameDictionary dict = holder->property_dictionary_swiss();
694 NameDictionary dict = holder->property_dictionary();
741 base::Optional<JSObjectRef> holder;
758 if (!TryLoadPropertyDetails(map, holder, name, &index, &details)) {
770 if (details.kind() == PropertyKind::kData && holder.has_value()) {
775 return LookupTransition(receiver_map, name, holder, NONE);
791 // TryLoadPropertyDetails only succeeds if we know the holder.
793 receiver_map, name, holder.value(), index, access_mode, details);
801 // TODO(v8:11248) We have a fast mode holder, but there was a dictionary
810 // occuring before a fast mode holder on the chain.
815 return ComputeDataFieldAccessInfo(receiver_map, map, name, holder,
826 holder, index, access_mode);
860 return LookupTransition(receiver_map, name, holder, attrs);
868 if (V8_DICT_PROPERTY_CONST_TRACKING_BOOL && holder.has_value()) {
870 DCHECK(holder->object()->map().is_prototype_map());
871 DCHECK(!holder->map().equals(receiver_map));
907 return LookupTransition(receiver_map, name, holder, NONE);
913 return PropertyAccessInfo::NotFound(zone(), receiver_map, holder);
916 holder = prototype.AsJSObject();
924 // prototypes up to the holder have stable maps, except for dictionary-mode
1087 MapRef map, NameRef name, base::Optional<JSObjectRef> holder,
1169 details_representation, field_type, transition_map, field_map, holder,
1174 details_representation, field_type, transition_map, field_map, holder,