@@ -375,7 +375,7 @@ void IC::ConfigureVectorState(Handle<Name> name, DirectHandle<Map> map,
375
375
OnFeedbackChanged (IsLoadGlobalIC () ? " LoadGlobal" : " Monomorphic" );
376
376
}
377
377
378
- void IC::ConfigureVectorState (Handle <Name> name, MapHandlesSpan maps,
378
+ void IC::ConfigureVectorState (Handle <Name> name, MapHandles const & maps,
379
379
MaybeObjectHandles* handlers) {
380
380
DCHECK (!IsGlobalIC ());
381
381
std::vector<MapAndHandler> maps_and_handlers;
@@ -741,9 +741,10 @@ bool IC::IsTransitionOfMonomorphicTarget(Tagged<Map> source_map,
741
741
source_map->elements_kind (), target_elements_kind);
742
742
Tagged<Map> transitioned_map;
743
743
if (more_general_transition) {
744
- Handle <Map> single_map[1 ] = {handle (target_map, isolate_)};
744
+ MapHandles map_list;
745
+ map_list.push_back (handle (target_map, isolate_));
745
746
transitioned_map = source_map->FindElementsKindTransitionedMap (
746
- isolate (), single_map , ConcurrencyMode::kSynchronous );
747
+ isolate (), map_list , ConcurrencyMode::kSynchronous );
747
748
}
748
749
return transitioned_map == target_map;
749
750
}
@@ -1245,10 +1246,7 @@ void KeyedLoadIC::UpdateLoadElement(Handle<HeapObject> receiver,
1245
1246
} else if (target_receiver_maps.size () == 1 ) {
1246
1247
ConfigureVectorState (Handle <Name>(), target_receiver_maps[0 ], handlers[0 ]);
1247
1248
} else {
1248
- ConfigureVectorState (Handle <Name>(),
1249
- MapHandlesSpan (target_receiver_maps.begin (),
1250
- target_receiver_maps.end ()),
1251
- &handlers);
1249
+ ConfigureVectorState (Handle <Name>(), target_receiver_maps, &handlers);
1252
1250
}
1253
1251
}
1254
1252
@@ -1447,9 +1445,7 @@ void KeyedLoadIC::LoadElementPolymorphicHandlers(
1447
1445
// generate an elements kind transition for this kind of receivers.
1448
1446
if (receiver_map->is_stable ()) {
1449
1447
Tagged<Map> tmap = receiver_map->FindElementsKindTransitionedMap (
1450
- isolate (),
1451
- MapHandlesSpan (receiver_maps->begin (), receiver_maps->end ()),
1452
- ConcurrencyMode::kSynchronous );
1448
+ isolate (), *receiver_maps, ConcurrencyMode::kSynchronous );
1453
1449
if (!tmap.is_null ()) {
1454
1450
receiver_map->NotifyLeafMapLayoutChange (isolate ());
1455
1451
}
@@ -2478,9 +2474,7 @@ void KeyedStoreIC::StoreElementPolymorphicHandlers(
2478
2474
} else {
2479
2475
{
2480
2476
Tagged<Map> tmap = receiver_map->FindElementsKindTransitionedMap (
2481
- isolate (),
2482
- MapHandlesSpan (receiver_maps.begin (), receiver_maps.end ()),
2483
- ConcurrencyMode::kSynchronous );
2477
+ isolate (), receiver_maps, ConcurrencyMode::kSynchronous );
2484
2478
if (!tmap.is_null ()) {
2485
2479
if (receiver_map->is_stable ()) {
2486
2480
receiver_map->NotifyLeafMapLayoutChange (isolate ());
0 commit comments