Chromium Code Reviews| Index: src/compiler/load-elimination.cc |
| diff --git a/src/compiler/load-elimination.cc b/src/compiler/load-elimination.cc |
| index e50ebe19190c0313cd5c38f190199bf675655b76..0110b52f25b3f3cda7d032805d179011d6109602 100644 |
| --- a/src/compiler/load-elimination.cc |
| +++ b/src/compiler/load-elimination.cc |
| @@ -866,6 +866,12 @@ LoadElimination::AbstractState const* LoadElimination::ComputeLoopState( |
| } |
| case IrOpcode::kTransitionElementsKind: { |
| Node* const object = NodeProperties::GetValueInput(current, 0); |
| + Node* const target_map = NodeProperties::GetValueInput(current, 2); |
| + Node* const object_map = state->LookupField( |
| + object, FieldIndexOf(HeapObject::kMapOffset)); |
| + if (target_map == object_map) { |
|
Benedikt Meurer
2016/11/16 20:22:19
Nit: Please do
if (target_map != object_map) {
|
| + break; |
| + } |
| state = state->KillField( |
| object, FieldIndexOf(HeapObject::kMapOffset), zone()); |
| state = state->KillField( |