Revision: 10282
Author: [email protected]
Date: Tue Dec 20 04:59:23 2011
Log: MIPS: Support Smi->Double->HeapObject transitions in constructed
Arrays.
Port r10218 (1f42dff).
Original commit message:
Also several bugs with Smi/double elements handling and make Ensure*
routines more flexible.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8894030
http://code.google.com/p/v8/source/detail?r=10282
Modified:
/branches/bleeding_edge/src/mips/builtins-mips.cc
=======================================
--- /branches/bleeding_edge/src/mips/builtins-mips.cc Mon Nov 7 00:41:47
2011
+++ /branches/bleeding_edge/src/mips/builtins-mips.cc Tue Dec 20 04:59:23
2011
@@ -400,13 +400,19 @@
// sp[0]: last argument
Label loop, entry;
- __ Branch(&entry);
+ __ Branch(USE_DELAY_SLOT, &entry);
+ __ mov(t3, sp);
__ bind(&loop);
- __ pop(a2);
+ __ lw(a2, MemOperand(t3));
+ __ Addu(t3, t3, kPointerSize);
+ if (FLAG_smi_only_arrays) {
+ __ JumpIfNotSmi(a2, call_generic_code);
+ }
__ Addu(t1, t1, -kPointerSize);
__ sw(a2, MemOperand(t1));
__ bind(&entry);
__ Branch(&loop, lt, t0, Operand(t1));
+ __ mov(sp, t3);
// Remove caller arguments and receiver from the stack, setup return
value and
// return.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev