ladybird/Libraries/LibJS/Bytecode/AsmInterpreter
Andreas Kling 583fa475fb LibJS: Call RawNativeFunction directly from asm Call
The asm interpreter already inlines ECMAScript calls, but builtin calls
still went through the generic C++ Call slow path even when the callee
was a plain native function pointer. That added an avoidable boundary
around hot builtin calls and kept asm from taking full advantage of the
new RawNativeFunction representation.

Teach the asm Call handler to recognize RawNativeFunction, allocate the
callee frame on the interpreter stack, copy the call-site arguments,
and jump straight to the stored C++ entry point.
NativeJavaScriptBackedFunction and other non-raw callees keep falling
through to the existing C++ slow path unchanged.
2026-04-15 15:57:48 +02:00
..
asmint.asm LibJS: Call RawNativeFunction directly from asm Call 2026-04-15 15:57:48 +02:00
AsmInterpreter.cpp LibJS: Call RawNativeFunction directly from asm Call 2026-04-15 15:57:48 +02:00
AsmInterpreter.h LibJS: Move bytecode interpreter state to VM 2026-04-13 18:29:43 +02:00
gen_asm_offsets.cpp LibJS: Call RawNativeFunction directly from asm Call 2026-04-15 15:57:48 +02:00