| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 6fac3021038d6f061df07f6c1e6b3460b3d1846c..7a386b4f71d75149a6e7065549f44295ce0eb211 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -1169,8 +1169,8 @@ HInstruction* HGraphBuilder::BuildUncheckedMonomorphicElementAccess(
|
| }
|
| HInstruction* length = NULL;
|
| if (is_js_array) {
|
| - length = AddInstruction(new(zone) HJSArrayLength(object, mapcheck,
|
| - HType::Smi()));
|
| + length = AddInstruction(
|
| + HLoadNamedField::NewArrayLength(object, zone));
|
| } else {
|
| length = AddInstruction(new(zone) HFixedArrayBaseLength(elements));
|
| }
|
| @@ -7349,8 +7349,8 @@ HValue* HOptimizedGraphBuilder::HandlePolymorphicElementAccess(
|
|
|
| set_current_block(if_jsarray);
|
| HInstruction* length;
|
| - length = AddInstruction(new(zone()) HJSArrayLength(object, typecheck,
|
| - HType::Smi()));
|
| + length = AddInstruction(
|
| + HLoadNamedField::NewArrayLength(object, zone()));
|
| checked_key = AddBoundsCheck(key, length, ALLOW_SMI_KEY);
|
| access = AddInstruction(BuildFastElementAccess(
|
| elements, checked_key, val, elements_kind_branch,
|
| @@ -7554,9 +7554,8 @@ void HOptimizedGraphBuilder::VisitProperty(Property* expr) {
|
| if (expr->AsProperty()->IsArrayLength()) {
|
| HValue* array = Pop();
|
| AddInstruction(new(zone()) HCheckNonSmi(array));
|
| - HInstruction* mapcheck =
|
| - AddInstruction(HCheckInstanceType::NewIsJSArray(array, zone()));
|
| - instr = new(zone()) HJSArrayLength(array, mapcheck);
|
| + AddInstruction(HCheckInstanceType::NewIsJSArray(array, zone()));
|
| + instr = HLoadNamedField::NewArrayLength(array, zone());
|
| } else if (expr->IsStringLength()) {
|
| HValue* string = Pop();
|
| AddInstruction(new(zone()) HCheckNonSmi(string));
|
|
|