mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-08 16:12:23 +02:00
The Rust bytecode pipeline stores SharedFunctionInstanceData pointers as raw void pointers invisible to the GC. If garbage collection runs during compilation (triggered by heap allocation of a new SFD), it can collect previously created SFDs, leaving stale pointers that crash during the next GC marking phase. Every other Rust compilation entry point (compile_script, compile_eval, compile_shadow_realm_eval, compile_dynamic_function, compile_function) already uses GC::DeferGC to prevent this. Add the missing DeferGC to compile_module and compile_builtin_file.
52 KiB
52 KiB