@@ -374,7 +374,7 @@ void IC::ConfigureVectorState(Handle<Name> name, Handle<Map> map,
374
374
OnFeedbackChanged (IsLoadGlobalIC () ? " LoadGlobal" : " Monomorphic" );
375
375
}
376
376
377
- void IC::ConfigureVectorState (Handle <Name> name, MapHandlesSpan maps,
377
+ void IC::ConfigureVectorState (Handle <Name> name, MapHandles const & maps,
378
378
MaybeObjectHandles* handlers) {
379
379
DCHECK (!IsGlobalIC ());
380
380
std::vector<MapAndHandler> maps_and_handlers;
@@ -740,9 +740,10 @@ bool IC::IsTransitionOfMonomorphicTarget(Tagged<Map> source_map,
740
740
source_map->elements_kind (), target_elements_kind);
741
741
Tagged<Map> transitioned_map;
742
742
if (more_general_transition) {
743
- Handle <Map> single_map[1 ] = {handle (target_map, isolate_)};
743
+ MapHandles map_list;
744
+ map_list.push_back (handle (target_map, isolate_));
744
745
transitioned_map = source_map->FindElementsKindTransitionedMap (
745
- isolate (), single_map , ConcurrencyMode::kSynchronous );
746
+ isolate (), map_list , ConcurrencyMode::kSynchronous );
746
747
}
747
748
return transitioned_map == target_map;
748
749
}
@@ -1241,10 +1242,7 @@ void KeyedLoadIC::UpdateLoadElement(Handle<HeapObject> receiver,
1241
1242
if (target_receiver_maps.size () == 1 ) {
1242
1243
ConfigureVectorState (Handle <Name>(), target_receiver_maps[0 ], handlers[0 ]);
1243
1244
} else {
1244
- ConfigureVectorState (Handle <Name>(),
1245
- MapHandlesSpan (target_receiver_maps.begin (),
1246
- target_receiver_maps.end ()),
1247
- &handlers);
1245
+ ConfigureVectorState (Handle <Name>(), target_receiver_maps, &handlers);
1248
1246
}
1249
1247
}
1250
1248
@@ -1441,9 +1439,7 @@ void KeyedLoadIC::LoadElementPolymorphicHandlers(
1441
1439
// generate an elements kind transition for this kind of receivers.
1442
1440
if (receiver_map->is_stable ()) {
1443
1441
Tagged<Map> tmap = receiver_map->FindElementsKindTransitionedMap (
1444
- isolate (),
1445
- MapHandlesSpan (receiver_maps->begin (), receiver_maps->end ()),
1446
- ConcurrencyMode::kSynchronous );
1442
+ isolate (), *receiver_maps, ConcurrencyMode::kSynchronous );
1447
1443
if (!tmap.is_null ()) {
1448
1444
receiver_map->NotifyLeafMapLayoutChange (isolate ());
1449
1445
}
@@ -2470,9 +2466,7 @@ void KeyedStoreIC::StoreElementPolymorphicHandlers(
2470
2466
} else {
2471
2467
{
2472
2468
Tagged<Map> tmap = receiver_map->FindElementsKindTransitionedMap (
2473
- isolate (),
2474
- MapHandlesSpan (receiver_maps.begin (), receiver_maps.end ()),
2475
- ConcurrencyMode::kSynchronous );
2469
+ isolate (), receiver_maps, ConcurrencyMode::kSynchronous );
2476
2470
if (!tmap.is_null ()) {
2477
2471
if (receiver_map->is_stable ()) {
2478
2472
receiver_map->NotifyLeafMapLayoutChange (isolate ());
0 commit comments