mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 19:47:17 +02: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:
committed by
Alexander Kalenik
parent
d5edd62e57
commit
aec7dd5778
Notes:
github-actions[bot]
2025-04-06 02:48:13 +00:00
Author: https://github.com/awesomekling Commit: https://github.com/LadybirdBrowser/ladybird/commit/aec7dd5778a Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4248
@@ -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 = {};
|
||||
|
||||
Reference in New Issue
Block a user