Commit 889966a4 authored by danno@chromium.org's avatar danno@chromium.org

Properly initialize element-transitioning array literals on ARM.

R=erikcorry@gmail.com
BUG=v8:1930
TEST=unit tests with enable_vfp3=true

Review URL: https://chromiumcodereview.appspot.com/9316131

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent ea949e84
...@@ -7358,7 +7358,7 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) { ...@@ -7358,7 +7358,7 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
// Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS. // Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS.
__ bind(&double_elements); __ bind(&double_elements);
__ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset)); __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset));
__ StoreNumberToDoubleElements(r0, r3, r1, r5, r6, r7, r9, r10, __ StoreNumberToDoubleElements(r0, r3, r1, r5, r6, r7, r9, r2,
&slow_elements); &slow_elements);
__ Ret(); __ Ret();
} }
......
...@@ -803,7 +803,8 @@ class MacroAssembler: public Assembler { ...@@ -803,7 +803,8 @@ class MacroAssembler: public Assembler {
// Check to see if maybe_number can be stored as a double in // Check to see if maybe_number can be stored as a double in
// FastDoubleElements. If it can, store it at the index specified by key in // FastDoubleElements. If it can, store it at the index specified by key in
// the FastDoubleElements array elements, otherwise jump to fail. // the FastDoubleElements array elements. Otherwise jump to fail, in which
// case scratch2, scratch3 and scratch4 are unmodified.
void StoreNumberToDoubleElements(Register value_reg, void StoreNumberToDoubleElements(Register value_reg,
Register key_reg, Register key_reg,
Register receiver_reg, Register receiver_reg,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment