Avoid calling the arguments rectifier when the target is known
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
People
(Reporter: iain, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [sp3])
CallInlinedFunction always calls the same target function. We're already passing in fixedArgc (the number of args provided at the callsite); if we also passed in the number of arguments the target expects, we could push the required undefined values without having to go through the rectifier. (We might still need to keep the rectifier around to handle cases where the total number of arguments is higher than we want to unroll.)
As an extension, there are also some non-inlined call ICs where we have already guarded the target, and could use the same trick.
Updated•3 years ago
|
Updated•3 years ago
|
| Reporter | ||
Comment 1•5 months ago
|
||
We removed the arguments rectifier in bug 1983137, but the underlying idea here is still viable: if we know the number of arguments being passed vs expected, then we can avoid generating arguments underflow code, or at least unroll the loop.
Description
•