ladybird/Libraries/LibWeb/WebAssembly
Andreas Kling 8a9d5ee1a1 LibJS: Separate raw and capturing native functions
NativeFunction previously stored an AK::Function for every builtin,
even when the callable was just a plain C++ entry point. That mixed
together two different representations, made simple builtins carry
capture storage they did not need, and forced the GC to treat every
native function as if it might contain captured JS values.

Introduce RawNativeFunction for plain NativeFunctionPointer callees
and keep AK::Function-backed callables on a CapturingNativeFunction
subclass. Update the straightforward native registrations in LibJS
and LibWeb to use the raw representation, while leaving exported
Wasm functions on the capturing path because they still capture
state.

Wrap UniversalGlobalScope's byte-length strategy lambda in
Function<...> explicitly so it keeps selecting the capturing
NativeFunction::create overload.
2026-04-15 15:57:48 +02:00
..
Global.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
Global.h LibWeb: Add WebAssembly.Global and exports support for global instances 2024-12-24 15:20:28 +01:00
Global.idl LibWeb: Add WebAssembly.Global and exports support for global instances 2024-12-24 15:20:28 +01:00
Instance.cpp LibWeb: Stub wasm exceptions and memory64 API modifications 2025-10-15 01:26:29 +02:00
Instance.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Instance.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Memory.cpp LibWeb: Implement HostGrowSharedArrayBuffer for shared Wasm memories 2026-01-04 07:47:55 +01:00
Memory.h LibWeb: Implement resizable ArrayBuffers for Wasm memories 2025-08-23 08:26:23 +02:00
Memory.idl LibWeb: Implement resizable ArrayBuffers for Wasm memories 2025-08-23 08:26:23 +02:00
Module.cpp LibWeb: Stub wasm exceptions and memory64 API modifications 2025-10-15 01:26:29 +02:00
Module.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Module.idl LibWeb/WebAssembly: Implement Module::customSections(module) 2025-04-22 08:43:46 -06:00
Table.cpp LibWeb: Stub wasm exceptions and memory64 API modifications 2025-10-15 01:26:29 +02:00
Table.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Table.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
WebAssembly.cpp LibJS: Separate raw and capturing native functions 2026-04-15 15:57:48 +02:00
WebAssembly.h LibJS: Separate raw and capturing native functions 2026-04-15 15:57:48 +02:00
WebAssembly.idl LibWeb/WebAssembly: Define the hacky 'native' errors given in the spec 2025-05-08 03:35:11 -06:00
WebAssemblyModule.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
WebAssemblyModule.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00