[Webkit-unassigned] [Bug 183786] Implement setupArgumentsImpl for ARM and MIPS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 17 02:49:03 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=183786

--- Comment #14 from Dominik Inführ <dinfuehr at igalia.com> ---
Thanks a lot for the review! I hope I've addressed the points you raised. The patch is now rebased/updated, it now uses CellValue.

I didn't add a static_assert for 32-bit architectures though: Rules are a bit complicated here, I guess there is only a simple to write such a line after adding even more template parameters (to keep track of registers or stack slots not used due to padding).

> And is `pushExtraRegArg` correct? Do we always need extra reg arg to push JSalueRegs?

I think so, JSValueRegs is 64-bit and on ARM/MIPS such a value is passed in two 32-bit registers if possible. I can't increase numGPRArgs by 2 for that (since it is also used for CURRENT_ARGUMEN_TYPE, we would skip an argument). That's why I've added extraGPRArgs. Passing JSValueRegs in registers therefore means: increasing both numGPRARgs and extraGPRArgs by 1. If we need to skip a register for "alignment" (64-bit value can only start in register r0/r1 or r2/r3 but not r1/r2), extraGPRArgs even needs to be increased by 2.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180417/975862e0/attachment.html>


More information about the webkit-unassigned mailing list