Bug
1889091 - Part 3: Specialize calls to native functions with variadic parameters. r=jandem
The existing `LApplyArgsGeneric` and friends instructions push the arguments in
preparation for a JIT to JIT call, which means when calling a native function,
we first have reorder the arguments in `jit::InvokeFunction` before calling the
native function. This is slow when the number of arguments exceeds in inline
stack space of `GenericArgsBase::v_`, i.e. there are more than six arguments,
because we first have to heap allocate enough space to hold the arguments.
This commit adds specializations for `LApplyArgsGeneric` and other instructions
when the target function is known to be a native function. These new instructions
push the arguments in the correct order for JIT to C++ calls, so we no longer
have to reorder the arguments.
Depends on
D206352
Differential Revision: https://phabricator.services.mozilla.com/
D206353