| Index: src/hydrogen-load-elimination.cc
|
| diff --git a/src/hydrogen-load-elimination.cc b/src/hydrogen-load-elimination.cc
|
| index 6967630b57cd4e25c8ddf27ae65e483845821996..1198d2b7ab59afeb6318745c0cf45fcf440138bf 100644
|
| --- a/src/hydrogen-load-elimination.cc
|
| +++ b/src/hydrogen-load-elimination.cc
|
| @@ -240,7 +240,12 @@ class HLoadEliminationTable : public ZoneObject {
|
| HValue* object = instr->object()->ActualValue();
|
| HValue* value = instr->value();
|
|
|
| - if (instr->store_mode() == STORE_TO_INITIALIZED_ENTRY) {
|
| + if (instr->has_transition()) {
|
| + // A transition introduces a new field and alters the map of the object.
|
| + // Since the field in the object is new, it cannot alias existing entries.
|
| + // TODO(titzer): introduce a constant for the new map and remember it.
|
| + KillFieldInternal(object, FieldOf(JSObject::kMapOffset), NULL);
|
| + } else {
|
| // Kill non-equivalent may-alias entries.
|
| KillFieldInternal(object, field, value);
|
| }
|
|
|