Chromium Code Reviews| Index: src/code-stubs-hydrogen.cc |
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
| index 16f4ac019ec47d456fdb81ec7dd2d013354c8cfb..2d703c9068c675f577124ac4351b8c89ca374aa1 100644 |
| --- a/src/code-stubs-hydrogen.cc |
| +++ b/src/code-stubs-hydrogen.cc |
| @@ -541,20 +541,20 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { |
| Add<HTrapAllocationMemento>(js_array); |
| } |
| - HInstruction* array_length = |
| - AddLoad(js_array, HObjectAccess::ForArrayLength()); |
| - array_length->set_type(HType::Smi()); |
| + HInstruction* elements = AddLoadElements(js_array); |
| + |
| + HInstruction* elements_length = AddLoadFixedArrayLength(elements); |
| IfBuilder if_builder(this); |
| - if_builder.IfNot<HCompareNumericAndBranch>(array_length, |
| + if_builder.IfNot<HCompareNumericAndBranch>(elements_length, |
| graph()->GetConstant0(), |
| Token::EQ); |
| if_builder.Then(); |
|
mvstanton
2013/07/16 13:01:07
There might still be an issue here. What if you ar
|
| - HInstruction* elements = AddLoadElements(js_array); |
| - |
| - HInstruction* elements_length = AddLoadFixedArrayLength(elements); |
| + HInstruction* array_length = |
| + AddLoad(js_array, HObjectAccess::ForArrayLength()); |
| + array_length->set_type(HType::Smi()); |
| BuildGrowElementsCapacity(js_array, elements, from_kind, to_kind, |
| array_length, elements_length); |