Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 6dadad60e290e36a87bc6f70fc4bdf0d80bc7b45..67c23efdba87aebd20a703417d900fd968335530 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -4514,9 +4514,10 @@ void LCodeGen::EmitDeepCopy(Handle<JSObject> object, |
__ mov(FieldOperand(result, total_offset + 4), Immediate(value_high)); |
} |
} 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(ecx, Operand(result, *offset)); |