Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index 28c5304a41ec23ce8a1b4783d394d6717b9d0c09..c4f12f0a7c387a7fe858bb58e90a70391aefe9e2 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -4280,9 +4280,10 @@ void LCodeGen::EmitDeepCopy(Handle<JSObject> object, |
__ movq(FieldOperand(result, total_offset), rcx); |
} |
} else if (elements->IsFixedArray()) { |
+ Handle<FixedArray> fast_elements = Handle<FixedArray>::cast(elements); |
for (int i = 0; i < elements_length; i++) { |
int total_offset = elements_offset + FixedArray::OffsetOfElementAt(i); |
- Handle<Object> value = JSObject::GetElement(object, i); |
+ Handle<Object> value(fast_elements->get(i)); |
if (value->IsJSObject()) { |
Handle<JSObject> value_object = Handle<JSObject>::cast(value); |
__ lea(rcx, Operand(result, *offset)); |