| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 0b843bd45b32eb6d57c1efa86ee784c59290c817..d758895c37b1fef3e4afc3570f1454b72780c102 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -4095,21 +4095,21 @@ HValue* HGraphBuilder::HandlePolymorphicElementAccess(HValue* object,
|
| }
|
|
|
| // Elements_kind transition support.
|
| - MapList transition_target(maps->length());
|
| + MapHandleList transition_target(maps->length());
|
| // Collect possible transition targets.
|
| - MapList possible_transitioned_maps(maps->length());
|
| + MapHandleList possible_transitioned_maps(maps->length());
|
| for (int i = 0; i < maps->length(); ++i) {
|
| Handle<Map> map = maps->at(i);
|
| ElementsKind elements_kind = map->elements_kind();
|
| if (elements_kind == FAST_DOUBLE_ELEMENTS ||
|
| elements_kind == FAST_ELEMENTS) {
|
| - possible_transitioned_maps.Add(*map);
|
| + possible_transitioned_maps.Add(map);
|
| }
|
| }
|
| // Get transition target for each map (NULL == no transition).
|
| for (int i = 0; i < maps->length(); ++i) {
|
| Handle<Map> map = maps->at(i);
|
| - Map* transitioned_map =
|
| + Handle<Map> transitioned_map =
|
| map->FindTransitionedMap(&possible_transitioned_maps);
|
| transition_target.Add(transitioned_map);
|
| }
|
| @@ -4119,9 +4119,9 @@ HValue* HGraphBuilder::HandlePolymorphicElementAccess(HValue* object,
|
| for (int i = 0; i < maps->length(); ++i) {
|
| Handle<Map> map = maps->at(i);
|
| ASSERT(map->IsMap());
|
| - if (transition_target.at(i) != NULL) {
|
| + if (!transition_target.at(i).is_null()) {
|
| object = AddInstruction(new(zone()) HTransitionElementsKind(
|
| - object, map, Handle<Map>(transition_target.at(i))));
|
| + object, map, transition_target.at(i)));
|
| } else {
|
| type_todo[map->elements_kind()] = true;
|
| if (map->elements_kind() >= FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND) {
|
|
|