mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
LIBJS_COMPARE_PIPELINES previously only compared top-level script/eval/module bytecodes. Function bodies are compiled lazily via compile_function(), and that path had no comparison at all. Fix this by pairing each Rust-compiled SharedFunctionInstanceData with its C++ counterpart during top-level compilation. When a function is later lazily compiled, compile_function() runs both pipelines and compares the bytecodes (crashing on mismatch, same as the top-level comparisons). The pairing is done recursively so nested functions are also covered.
16 KiB
16 KiB