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)); |