Chromium Code Reviews| Index: src/hydrogen.cc |
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
| index c2305d7bbfeb0bfcd4374651856da0109ce28bd4..79ffd5254cb02614e0514b9fd567e47c176dac48 100644 |
| --- a/src/hydrogen.cc |
| +++ b/src/hydrogen.cc |
| @@ -1165,8 +1165,8 @@ HInstruction* HGraphBuilder::BuildUncheckedMonomorphicElementAccess( |
| } |
| HInstruction* length = NULL; |
| if (is_js_array) { |
| - length = AddInstruction(new(zone) HJSArrayLength(object, mapcheck, |
| - HType::Smi())); |
| + length = AddInstruction( |
| + HLoadNamedField::NewArrayLength(zone, object, mapcheck)); |
|
danno
2013/04/02 11:10:43
I think you are losing the fact that the type of t
|
| } else { |
| length = AddInstruction(new(zone) HFixedArrayBaseLength(elements)); |
| } |
| @@ -1237,8 +1237,7 @@ HInstruction* HGraphBuilder::BuildUncheckedMonomorphicElementAccess( |
| HInstruction* HGraphBuilder::BuildFastArrayLengthLoad(HValue* object, |
| HValue* typecheck) { |
| - Zone* zone = this->zone(); |
| - return new (zone) HJSArrayLength(object, typecheck, HType::Smi()); |
| + return HLoadNamedField::NewArrayLength(zone(), object, typecheck); |
| } |
| @@ -7377,8 +7376,8 @@ HValue* HOptimizedGraphBuilder::HandlePolymorphicElementAccess( |
| set_current_block(if_jsarray); |
| HInstruction* length; |
| - length = AddInstruction(new(zone()) HJSArrayLength(object, typecheck, |
| - HType::Smi())); |
| + length = AddInstruction( |
| + HLoadNamedField::NewArrayLength(zone(), object, typecheck)); |
| checked_key = AddBoundsCheck(key, length, ALLOW_SMI_KEY); |
| access = AddInstruction(BuildFastElementAccess( |
| elements, checked_key, val, elements_kind_branch, |