ladybird/Libraries/LibJS/Rust
Andreas Kling afa1f77252 LibJS: Materialize decoded bytecode cache blobs
Create parser-free script and module materializers for decoded cache
blobs. Cached functions create SFDs without Rust compile inputs and
attach their precompiled executable immediately, while declaration
metadata is populated from decoded records.

Treat cache blobs as external input from the HTTP disk cache. Run
bytecode validation unconditionally before fixing up cache pointers, and
reject decoded source ranges or metadata indices that would be
out-of-bounds during C++ materialization.

Report executable validation failures as parser errors so callers can
reject corrupt sidecars and fall back to source compilation. LibJS tests
cover corrupt top-level bytecode, declaration bytecode, and declaration
source spans.
2026-05-06 08:20:06 +02:00
..
src LibJS: Materialize decoded bytecode cache blobs 2026-05-06 08:20:06 +02:00
build.rs LibJS: Range-check enum-typed bytecode fields in the validator 2026-05-03 08:43:19 +02:00
Cargo.toml LibJS: Use foldhash in parser and scope-collector hash maps 2026-05-05 13:53:51 +02:00
cbindgen.toml LibJS: Add bytecode validator scaffolding driven from Bytecode.def 2026-05-03 08:43:19 +02:00