Files
ladybird/Libraries/LibJS/Rust/cbindgen.toml
Andreas Kling 0d120019df LibJS: Resolve VM constants during executable creation
Rust bytecode generation still reached into the VM to encode well-known
symbols and intrinsic abstract-operation functions as raw JS::Value
constants. That is not compatible with running top-level code generation
away from the main thread.

Keep those constants symbolic in the Rust constant pool instead. The C++
Executable materialization step now resolves them into real VM values
while it is already decoding the rest of the constant table on the main
thread.

This removes another VM dependency from Rust bytecode emission without
changing when the resulting constants become visible to the bytecode
interpreter.
2026-04-26 21:51:52 +02:00

21 lines
484 B
TOML

language = "C++"
header = """/*
* Copyright (c) 2026-present, the Ladybird developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/"""
pragma_once = true
include_version = true
namespaces = ["JS", "FFI"]
line_length = 120
tab_width = 4
no_includes = true
sys_includes = ["stdint.h", "stddef.h"]
usize_is_size_t = true
[export]
include = ["AbstractOperationKind", "ConstantTag", "LiteralValueKind", "WellKnownSymbolKind", "FFIToken"]
[export.mangle]
rename_types = "PascalCase"