https://codereview.chromium.org/24233003/diff/1/src/mips/regexp-macro-assembler-mips.cc
File src/mips/regexp-macro-assembler-mips.cc (right):

https://codereview.chromium.org/24233003/diff/1/src/mips/regexp-macro-assembler-mips.cc#newcode1089
src/mips/regexp-macro-assembler-mips.cc:1089: __ lw(sp, MemOperand(sp,
16 + stack_alignment + kCArgsSlotsSize));
On 2013/09/19 18:07:10, Paul Lind wrote:
Where does the magic number 16 come from? You're calling
PrepareCallCFunction()
with 3 args, but those fit within the (4) on-stack ArgsSlots. You
already
account for that with kCArgsSlotsSize. The only un-accounted for thing
is the
return address. That would be 4 bytes, or maybe 8 to preserve
alignment.
The 16 comes from the allocation done by PrepareCallCFunction (3
arguments and 1 for the original stake pointer). Previous
RegExpMacroAssemblerMIPS::CallCFunctionUsingStub used the magic 16 also.
I couldn't find a good name for that. The kCArgsSlotsSize value comes
from DirectCEntryStub::Generate's stack allocation. There is no stack
release/pop in DirectCEntryStub::Generate as that function can be called
from other places where LeaveExitFrame takes care of the sp.

https://codereview.chromium.org/24233003/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to