These instructions all call out to a C function, passing EC, self, and
some number of arguments. invokebuiltin gets the arguments from the
stack, whereas the _delegate instructions use a subset of the locals.
opt_invokebuiltin_delegate_leave has a fast path for leave, but I'm
not sure we need to do anything special for that here (FWIW YJIT appears
to treat the two delegate instructions the same).
ZJIT: Support invokebuiltin opcodes (#13632)
invokebuiltin
invokebuiltin_delegate
invokebuiltin_delegate_leave
These instructions all call out to a C function, passing EC, self, and
some number of arguments.
invokebuiltin
gets the arguments from thestack, whereas the
_delegate
instructions use a subset of the locals.opt_invokebuiltin_delegate_leave
has a fast path forleave
, but I'mnot sure we need to do anything special for that here (FWIW YJIT appears
to treat the two delegate instructions the same).