Files
Clemens Backes ed75381f7f Reland "[wasm] Turn WebAssembly constructors into CPP builtins"
This is a reland of commit eadf266117.
The test that caused the revert was buggy before and is now skipped:
https://crrev.com/c/8649799

Original change's description:
> [wasm] Turn WebAssembly constructors into CPP builtins
>
> Previously, WebAssembly constructors (Module, Instance, Table, Memory,
> Global, Tag, Exception, Suspending) used API FunctionTemplates with a
> dummy instance template, allocating a throwaway JSObject and later
> migrating its map via TransferPrototype onto the freshly allocated Wasm
> object. This failed if the subclass prototype or instance had been made
> non-extensible during super() argument evaluation.
>
> Instead, implement all WebAssembly constructors as CPP builtins and
> allocate the Wasm object directly using JSFunction::GetDerivedMap. This
> matches how other complex constructors in V8 are implemented (such as
> ArrayBuffer, DataView, DisposableStack, and the Intl constructors).
>
> TAG=agy
> R=jkummerow@chromium.org
>
> Bug: 572830550
> Change-Id: If33ce8688317dffdbabf9fd30bd6827cd0bc31f3
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8585478
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Auto-Submit: Clemens Backes <clemensb@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Commit-Queue: Eric Leese <leese@chromium.org>
> Reviewed-by: Eric Leese <leese@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#111108}

Bug: 572830550
Change-Id: I74908fe0cabe1cef6d071f471d82abda0d3bd909
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8656918
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Eric Leese <leese@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#111210}
2026-10-27 05:30:33 -07:00
..