1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-08 05:27:14 +09:00

LibJS: Mark Interpreter::handle_exception() as NEVER_INLINE

Before this change, we were inlining this function after every
handler for instructions that could throw.

Forcing it out-of-line shrinks the main bytecode interpreter by 15%
and yields a decent 2.5% speedup on JetStream/gcc-loops.cpp.js
This commit is contained in:
Andreas Kling 2025-04-06 01:29:00 +02:00 committed by Alexander Kalenik
parent d5edd62e57
commit aec7dd5778
Notes: github-actions[bot] 2025-04-06 02:48:13 +00:00

View file

@ -323,7 +323,7 @@ ThrowCompletionOr<Value> Interpreter::run(SourceTextModule& module)
return js_undefined();
}
Interpreter::HandleExceptionResponse Interpreter::handle_exception(size_t& program_counter, Value exception)
NEVER_INLINE Interpreter::HandleExceptionResponse Interpreter::handle_exception(size_t& program_counter, Value exception)
{
reg(Register::exception()) = exception;
m_scheduled_jump = {};