Lines Matching defs:map
122 Handle<Map> map = lookup_start_object_map(); // Might be empty.
140 LOG(isolate(), ICEvent(type, keyed_prefix, map, name,
181 if (!map.is_null()) {
182 ic_info.map = reinterpret_cast<void*>(map->ptr());
183 ic_info.is_dictionary_map = map->is_dictionary_map();
184 ic_info.number_of_own_descriptors = map->NumberOfOwnDescriptors();
185 ic_info.instance_type = std::to_string(map->instance_type());
187 ic_info.map = nullptr;
251 // The current map wasn't handled yet. There's no reason to stay monomorphic,
252 // *unless* we're moving from a deprecated map to its replacement, or
254 // TODO(verwaest): Check if the current map is actually what the old map
357 if (!receiver->map().is_deprecated()) return false;
376 void IC::ConfigureVectorState(Handle<Name> name, Handle<Map> map,
378 ConfigureVectorState(name, map, MaybeObjectHandle(handler));
381 void IC::ConfigureVectorState(Handle<Name> name, Handle<Map> map,
388 nexus()->ConfigureMonomorphic(name, map, handler);
450 // If we encounter an object with a deprecated map, we want to update the
451 // feedback vector with the migrated map.
453 // to seeing the same map and handler.
578 for (Handle<Map> map : *receiver_maps) {
579 if (!map.is_null() && map.is_identical_to(new_receiver_map)) {
593 Handle<Map> map = map_and_handler.first;
594 if (!map.is_null() && map.is_identical_to(new_receiver_map)) {
616 Handle<Map> map = lookup_start_object_map();
617 if (!InstanceTypeChecker::IsJSApiObject(map->instance_type())) return false;
639 call_optimization.LookupHolderOfExpectedType(isolate(), map, &holder_lookup);
642 Handle<Context> accessor_context(call_optimization.GetAccessorContext(*map),
658 Handle<Map> map = lookup_start_object_map();
671 Handle<Map> existing_map = handle(it.map(), isolate());
679 } else if (map.is_identical_to(existing_map)) {
680 // If both map and handler stayed the same (and the name is also the
695 IsTransitionOfMonomorphicTarget(*existing_map, *map)) {
721 if (!map.is_identical_to(
723 maps_and_handlers[handler_to_overwrite].first = map;
726 maps_and_handlers.push_back(MapAndHandler(map, handler));
858 void IC::UpdateMegamorphicCache(Handle<Map> map, Handle<Name> name,
861 stub_cache()->Set(*name, *map, *handler);
962 Handle<Map> map = lookup_start_object_map();
977 return LoadHandler::LoadFullChain(isolate(), map, holder_ref,
982 DCHECK(map->has_named_interceptor());
988 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
998 if (Accessors::IsJSObjectFieldAccessor(isolate(), map, lookup->name(),
1018 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
1054 call_optimization.LookupHolderOfExpectedType(isolate(), map,
1068 call_optimization.GetAccessorContext(holder->map()), isolate());
1072 isolate(), map, holder, smi_handler,
1088 isolate(), map, holder, smi_handler,
1097 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
1111 !AccessorInfo::IsCompatibleReceiverMap(info, map) ||
1124 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
1139 isolate(), map, holder, smi_handler,
1199 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
1203 return LoadHandler::LoadFromPrototype(isolate(), map, holder,
1215 return LoadHandler::LoadFromPrototype(isolate(), map, holder_proxy,
1235 Handle<Map> receiver_map(receiver->map(), isolate());
1246 for (Handle<Map> map : target_receiver_maps) {
1247 if (map.is_null()) continue;
1248 if (map->instance_type() == JS_PRIMITIVE_WRAPPER_TYPE) {
1252 if (map->instance_type() == JS_PROXY_TYPE) {
1282 // adding the map that was just encountered.
1289 // If the miss wasn't due to an unseen map, a polymorphic stub
1291 set_slow_stub_reason("same map added twice");
1418 [](const Handle<Map>& map) { return map->is_deprecated(); }),
1422 // Mark all stable receiver maps that have elements kind transition map
1483 // just map to a very large value. This is valid because all OOB accesses
1531 Handle<Map> receiver_map(Handle<HeapObject>::cast(receiver)->map(),
1602 DCHECK(!receiver->map().is_deprecated());
1634 // The previous receiver map might just have been deprecated,
1807 // might deprecate the current map again, if value does not fit.
2016 set_slow_stub_reason("accessor on slow map");
2085 call_optimization.GetAccessorContext(holder->map()), isolate());
2204 [this](Handle<Map> map) { return Map::TryUpdate(isolate(), map); });
2207 // If we transitioned to a map that is a more general map than incoming
2208 // then use the new map.
2217 Handle<Map> map = map_and_handler.first;
2218 if (!map.is_null() && map->instance_type() == JS_PRIMITIVE_WRAPPER_TYPE) {
2227 // Handle those here if the receiver map hasn't changed or it has transitioned
2235 // If the "old" and "new" maps are in the same elements map family, or
2237 // stay MONOMORPHIC and use the map for the most generic ElementsKind.
2243 // If there is no transition and if we have seen the same map earlier and
2273 // If the miss wasn't due to an unseen map, a polymorphic stub
2275 set_slow_stub_reason("same map added twice");
2303 Handle<Map> map = map_and_handler.first;
2304 if (map->IsJSArrayMap() && JSArray::MayHaveReadOnlyLength(*map)) {
2309 } else if (map->has_typed_array_or_rab_gsab_typed_array_elements()) {
2479 if (receiver->map().has_typed_array_or_rab_gsab_typed_array_elements() &&
2492 // might deprecate the current map again, if value does not fit.
2539 if (heap_object->map().IsMapInArrayPrototypeChain(isolate())) {
2540 set_slow_stub_reason("map in array prototype");
2551 old_receiver_map = handle(receiver->map(), isolate());
2591 set_slow_stub_reason("receiver with prototype map");
2601 handle(receiver->map(), isolate()));
2638 DCHECK(!array->map().IsMapInArrayPrototypeChain(isolate()));
2657 Handle<Map> old_array_map(array->map(), isolate());
2663 handle(array->map(), isolate()));
3129 Handle<Map> map = args.at<Map>(3);
3137 map->elements_kind());
3156 static bool CanFastCloneObject(Handle<Map> map) {
3158 if (map->IsNullOrUndefinedMap()) return true;
3159 if (!map->IsJSObjectMap() ||
3160 !IsSmiOrObjectElementsKind(map->elements_kind()) ||
3161 !map->OnlyHasSimpleProperties()) {
3165 DescriptorArray descriptors = map->instance_descriptors();
3166 for (InternalIndex i : map->IterateOwnDescriptors()) {
3185 Handle<Map> map = initial_map;
3194 map = Map::CopyInitialMap(isolate, map, instance_size, inobject_properties,
3199 if (map.is_identical_to(initial_map)) {
3200 map = Map::Copy(isolate, map, "ObjectWithNullProto");
3202 Map::SetPrototype(isolate, map, isolate->factory()->null_value());
3206 return map;
3210 if (map.is_identical_to(initial_map)) {
3211 map = Map::Copy(isolate, map, "InitializeClonedDescriptors");
3220 map->InitializeDescriptors(isolate, *descriptors);
3221 map->CopyUnusedPropertyFieldsAdjustedForInstanceSize(*source_map);
3224 map->set_may_have_interesting_symbols(
3227 return map;
3267 Handle<Map> source_map(Handle<HeapObject>::cast(source)->map(),
3378 handle(JSObject::cast(receiver->map().prototype()), isolate);