Lines Matching defs:object

151     Node* object, Node* index, MachineRepresentation representation) const {
153 if (element.object == nullptr) continue;
156 if (MustAlias(object, element.object) && MustAlias(index, element.index) &&
165 LoadElimination::AbstractElements::Kill(Node* object, Node* index,
168 if (element.object == nullptr) continue;
169 if (MayAlias(object, element.object)) {
172 if (element2.object == nullptr) continue;
175 if (!MayAlias(object, element2.object) ||
193 if (this_element.object == nullptr) continue;
197 if (this_element.object == that_element.object &&
206 if (that_element.object == nullptr) continue;
210 if (that_element.object == this_element.object &&
226 if (this_element.object == nullptr) continue;
228 if (this_element.object == that_element.object &&
242 if (element.object) {
243 PrintF(" #%d:%s @ #%d:%s -> #%d:%s\n", element.object->id(),
244 element.object->op()->mnemonic(), element.index->id(),
252 Node* object) const {
255 if (MustAlias(object, pair.first)) return &pair.second;
273 AliasStateInfo(const AbstractState* state, Node* object, Handle<Map> map)
274 : state_(state), object_(object), map_(map) {}
275 AliasStateInfo(const AbstractState* state, Node* object)
276 : state_(state), object_(object) {}
287 Node* object, Zone* zone) const {
291 // 'object', we might not have done it on the same node; e.g. we might now
292 // identify the object by a FinishRegion node, whereas the initial const
294 // on all nodes that must alias with 'object'.
295 if (MustAlias(object, info1.first)) {
298 if (!MustAlias(object, info2.first)) {
339 LoadElimination::AbstractMaps::AbstractMaps(Node* object,
342 object = ResolveRenames(object);
343 info_for_node_.insert(std::make_pair(object, maps));
347 Node* object, ZoneHandleSet<Map>* object_maps) const {
348 auto it = info_for_node_.find(ResolveRenames(object));
385 Node* object, ZoneHandleSet<Map> maps, Zone* zone) const {
388 object = ResolveRenames(object);
389 that->info_for_node_[object] = maps;
478 Node* object, ZoneHandleSet<Map>* object_map) const {
479 return this->maps_ && this->maps_->Lookup(object, object_map);
483 Node* object, ZoneHandleSet<Map> maps, Zone* zone) const {
486 that->maps_ = that->maps_->Extend(object, maps, zone);
488 that->maps_ = zone->New<AbstractMaps>(object, maps, zone);
507 Node* object, Zone* zone) const {
508 AliasStateInfo alias_info(this, object);
513 Node* object, Node* index, MachineRepresentation representation) const {
515 return this->elements_->Lookup(object, index, representation);
521 LoadElimination::AbstractState::AddElement(Node* object, Node* index,
528 that->elements_->Extend(object, index, value, representation, zone);
531 zone->New<AbstractElements>(object, index, value, representation, zone);
537 LoadElimination::AbstractState::KillElement(Node* object, Node* index,
541 this->elements_->Kill(object, index, zone);
552 Node* object, IndexRange index_range, LoadElimination::FieldInfo info,
559 fields[index] = fields[index]->Extend(object, info, zone);
561 fields[index] = zone->New<AbstractField>(object, info, zone);
568 LoadElimination::AbstractState::KillConstField(Node* object,
571 AliasStateInfo alias_info(this, object);
575 this_field = this_field->KillConst(object, zone);
586 Node* object, IndexRange index_range, MaybeHandle<Name> name,
588 AliasStateInfo alias_info(this, object);
609 LoadElimination::AbstractState::KillFields(Node* object, MaybeHandle<Name> name,
611 AliasStateInfo alias_info(this, object);
645 Node* object, IndexRange index_range,
654 info = this_field->Lookup(object);
659 info = this_field->Lookup(object);
678 // If {object} is being initialized right here (indicated by {object} being
680 // can only alias with {object} if they refer to exactly the same node.
740 Node* const object = NodeProperties::GetValueInput(node, 0);
745 if (state->LookupMaps(object, &object_maps)) {
749 state = state->SetMaps(object, maps, zone());
755 Node* const object = NodeProperties::GetValueInput(node, 0);
760 if (state->LookupMaps(object, &object_maps)) {
764 state = state->SetMaps(object, maps, zone());
770 Node* const object = NodeProperties::GetValueInput(node, 0);
775 if (state->LookupMaps(object, &object_maps)) {
787 Node* const object = NodeProperties::GetValueInput(node, 0);
802 // Kill the previous elements on {object}.
803 state = state->KillField(object,
806 // Add the new elements on {object}.
808 object, FieldIndexOf(JSObject::kElementsOffset, kTaggedSize),
815 Node* const object = NodeProperties::GetValueInput(node, 0);
830 // Kill the previous elements on {object}.
831 state = state->KillField(object,
834 // Add the new elements on {object}.
836 object, FieldIndexOf(JSObject::kElementsOffset, kTaggedSize),
843 Node* const object = NodeProperties::GetValueInput(node, 0);
854 AliasStateInfo alias_info(state, object, source_map);
861 if (state->LookupMaps(object, &object_maps)) {
863 // The {object} already has the {target_map}, so this TransitionElements
870 AliasStateInfo alias_info(state, object, source_map);
872 state = state->SetMaps(object, object_maps, zone());
875 AliasStateInfo alias_info(state, object, source_map);
882 Node* const object = NodeProperties::GetValueInput(node, 0);
890 // this object, because we don't know which of those we'll transition to.
893 if (state->LookupMaps(object, &object_maps)) {
896 state = state->KillMaps(object, zone());
897 state = state->SetMaps(object, object_maps, zone());
900 state = state->KillField(object,
908 Node* object = NodeProperties::GetValueInput(node, 0);
917 if (state->LookupMaps(object, &object_maps) && object_maps.size() == 1) {
929 state->LookupField(object, field_index, access.const_field_info);
934 state->LookupField(object, field_index, ConstFieldInfo::None());
960 state = state->AddField(object, field_index, info, zone());
972 Node* const object = NodeProperties::GetValueInput(node, 0);
980 // Kill all potential knowledge about the {object}s map.
981 state = state->KillMaps(object, zone());
984 // Record the new {object} map information.
986 new_value_type.AsHeapConstant()->Ref().AsMap().object());
987 state = state->SetMaps(object, object_maps, zone());
996 state->LookupField(object, field_index, access.const_field_info);
1035 state = state->KillConstField(object, field_index, zone());
1037 state = state->KillField(object, field_index, access.name, zone());
1038 state = state->AddField(object, field_index, new_info, zone());
1044 state = state->AddField(object, field_index, new_info, zone());
1048 state = state->KillFields(object, access.name, zone());
1055 Node* const object = NodeProperties::GetValueInput(node, 0);
1083 object, index, access.machine_type.representation())) {
1096 state = state->AddElement(object, index, node,
1105 Node* const object = NodeProperties::GetValueInput(node, 0);
1112 state->LookupElement(object, index, access.machine_type.representation());
1118 state = state->KillElement(object, index, zone());
1139 state = state->AddElement(object, index, new_value,
1260 Node* const object = NodeProperties::GetValueInput(current, 0);
1262 // Invalidate what we know about the {object}s map.
1263 state = state->KillMaps(object, zone());
1267 state = state->KillFields(object, access.name, zone());
1269 state = state->KillField(object, field_index, access.name, zone());
1280 Node* object;
1300 Node* const object = NodeProperties::GetValueInput(current, 0);
1302 object, FieldIndexOf(JSObject::kElementsOffset, kTaggedSize),
1307 Node* const object = NodeProperties::GetValueInput(current, 0);
1309 object, FieldIndexOf(JSObject::kElementsOffset, kTaggedSize),
1315 Node* const object = NodeProperties::GetValueInput(current, 0);
1317 if (!state->LookupMaps(object, &object_maps) ||
1320 element_transitions_.push_back({transition, object});
1325 Node* const object = NodeProperties::GetValueInput(current, 0);
1326 // Invalidate what we know about the {object}s map.
1327 state = state->KillMaps(object, zone());
1330 object, FieldIndexOf(JSObject::kElementsOffset, kTaggedSize),
1340 Node* const object = NodeProperties::GetValueInput(current, 0);
1342 state = state->KillElement(object, index, zone());
1361 // source map. The trouble is that an object can be transitioned by some other
1369 // If we process the slow transition first on an object that has mapA, we will
1370 // ignore the transition because the object does not have its source map
1372 // object's map, but we keep the information about the object's elements. This
1384 AliasStateInfo alias_info(state, t.object, t.transition.source());
1392 AliasStateInfo alias_info(state, t.object, t.transition.source());