MIPS: Properly initialize element-transitioning array literals on ARM.
Port r10624 (172d021). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9689010 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
0ed593df56
commit
2dc04fda4a
@ -7677,7 +7677,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);
|
||||||
__ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset));
|
__ lw(t1, FieldMemOperand(a1, JSObject::kElementsOffset));
|
||||||
__ StoreNumberToDoubleElements(a0, a3, a1, t1, t2, t3, t5, t6,
|
__ StoreNumberToDoubleElements(a0, a3, a1, t1, t2, t3, t5, a2,
|
||||||
&slow_elements);
|
&slow_elements);
|
||||||
__ Ret(USE_DELAY_SLOT);
|
__ Ret(USE_DELAY_SLOT);
|
||||||
__ mov(v0, a0);
|
__ mov(v0, a0);
|
||||||
|
@ -945,7 +945,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,
|
||||||
|
Loading…
Reference in New Issue
Block a user