mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-10 17:12:41 +02:00
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.
21 lines
484 B
TOML
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"
|