| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index b4fc65635f47b6db2396208e73b0b3b9e124f996..257233b0f6a87e676b023fe9793e9f310fde83c6 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -2554,8 +2554,7 @@ class HCheckMaps: public HTemplateInstruction<2> {
|
| HValue *typecheck = NULL) {
|
| HCheckMaps* check_map = new(zone) HCheckMaps(value, zone, typecheck);
|
| for (int i = 0; i < maps->length(); i++) {
|
| - check_map->map_set_.Add(maps->at(i), zone);
|
| - check_map->has_migration_target_ |= maps->at(i)->is_migration_target();
|
| + check_map->Add(maps->at(i), zone);
|
| }
|
| check_map->map_set_.Sort();
|
| return check_map;
|
| @@ -2599,6 +2598,14 @@ class HCheckMaps: public HTemplateInstruction<2> {
|
| }
|
|
|
| private:
|
| + void Add(Handle<Map> map, Zone* zone) {
|
| + map_set_.Add(map, zone);
|
| + if (!has_migration_target_ && map->is_migration_target()) {
|
| + has_migration_target_ = true;
|
| + SetGVNFlag(kChangesNewSpacePromotion);
|
| + }
|
| + }
|
| +
|
| // Clients should use one of the static New* methods above.
|
| HCheckMaps(HValue* value, Zone *zone, HValue* typecheck)
|
| : HTemplateInstruction<2>(value->type()),
|
|
|