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
..
2017-12-09 16:29:23 +00:00
2017-12-09 16:29:23 +00:00
2022-04-15 01:23:54 +00:00
2022-04-15 01:23:54 +00:00
2019-06-11 06:11:58 +00:00
2019-01-21 11:37:32 +00:00
2019-06-11 06:11:58 +00:00
2018-11-08 16:51:53 +00:00
2018-11-08 16:51:53 +00:00
2018-11-08 16:51:53 +00:00
2021-03-15 23:34:34 +00:00
2026-09-29 00:00:17 -07:00
2026-09-29 00:00:17 -07:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-03-15 15:36:41 +00:00
2018-03-15 15:36:41 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2018-10-17 10:21:44 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-01 02:02:51 +00:00
2019-05-08 10:13:05 +00:00
2019-05-08 10:13:05 +00:00
2019-05-08 10:13:05 +00:00
2019-05-01 02:02:51 +00:00
2019-08-30 10:16:29 +00:00
2019-05-01 02:02:51 +00:00
2019-08-30 10:16:29 +00:00
2019-05-01 02:02:51 +00:00
2019-05-08 10:13:05 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-05-01 02:02:51 +00:00
2019-08-30 10:16:29 +00:00
2019-05-01 02:02:51 +00:00
2019-08-30 10:16:29 +00:00
2019-05-08 10:13:05 +00:00
2019-05-08 10:13:05 +00:00
2019-05-01 02:02:51 +00:00
2019-05-08 10:13:05 +00:00
2022-04-04 14:08:56 +00:00
2022-04-04 14:08:56 +00:00
2019-05-01 02:02:51 +00:00
2022-04-04 14:08:56 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2020-11-12 23:21:53 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-08-13 10:04:36 +00:00
2021-08-13 10:04:36 +00:00
2021-08-13 10:04:36 +00:00
2021-08-13 10:04:36 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-08-13 10:04:36 +00:00
2022-04-04 14:08:56 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2021-11-09 15:36:28 +00:00
2019-06-11 06:11:58 +00:00
2019-03-01 20:52:03 +00:00
2019-03-01 20:52:03 +00:00
2024-07-03 07:04:36 +00:00
2024-07-03 07:04:36 +00:00
2026-08-20 08:49:03 -07:00
2026-08-25 01:46:10 -07:00
2026-08-20 08:49:03 -07:00
2026-08-20 08:49:03 -07:00
2026-08-20 08:49:03 -07:00
2022-02-07 12:02:48 +00:00
2022-02-07 12:02:48 +00:00
2022-02-07 12:02:48 +00:00
2022-02-07 12:02:48 +00:00
2022-02-07 12:02:48 +00:00
2022-02-07 12:02:48 +00:00
2019-02-02 00:38:06 +00:00
2019-02-02 00:38:06 +00:00
2021-08-11 10:21:31 +00:00
2021-08-11 10:21:31 +00:00
2019-05-01 02:02:51 +00:00
2022-07-12 06:44:27 +00:00
2019-08-30 10:51:49 +00:00
2021-07-08 14:31:27 +00:00
2019-08-30 10:51:49 +00:00
2018-11-02 17:41:51 +00:00
2018-11-02 17:41:51 +00:00
2020-11-03 17:11:52 +00:00
2020-11-03 17:11:52 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2025-10-10 08:29:19 -07:00
2025-10-10 08:29:19 -07:00
2019-06-11 06:11:58 +00:00
2019-01-09 14:09:23 +00:00
2020-01-30 09:28:16 +00:00
2020-01-30 09:28:16 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-25 12:33:11 +00:00
2019-06-25 12:33:11 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-25 12:33:11 +00:00
2019-06-25 12:33:11 +00:00
2018-11-08 16:51:53 +00:00
2019-06-11 06:11:58 +00:00
2022-08-09 15:32:42 +00:00
2024-11-19 13:12:33 +00:00
2022-08-09 15:32:42 +00:00
2022-08-09 15:32:42 +00:00
2022-08-09 15:32:42 +00:00
2024-11-19 13:12:33 +00:00
2026-03-09 05:25:25 -07:00
2026-03-09 05:25:25 -07:00
2026-05-07 00:09:24 -07:00
2026-05-07 00:09:24 -07:00
2026-05-07 00:09:24 -07:00
2026-05-07 00:09:24 -07:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2019-01-29 08:00:10 +00:00
2018-03-14 11:07:52 +00:00
2018-09-05 09:29:51 +00:00
2021-08-18 01:30:10 +00:00
2021-08-18 01:30:10 +00:00
2026-06-25 02:11:18 -07:00
2026-06-25 02:11:18 -07:00
2019-03-20 16:46:29 +00:00
2019-03-20 16:46:29 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2020-11-03 18:51:32 +00:00
2020-11-03 18:51:32 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2025-01-28 08:31:31 -08:00
2024-10-10 06:48:37 +00:00
2025-01-28 08:31:31 -08:00
2024-10-10 06:48:37 +00:00
2025-01-28 08:31:31 -08:00
2024-10-10 06:48:37 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2026-09-08 10:34:52 -07:00
2026-09-08 10:34:52 -07:00
2024-09-02 11:43:22 +00:00
2024-09-02 11:43:22 +00:00
2024-10-10 06:48:37 +00:00
2019-09-24 14:01:32 +00:00
2019-09-24 14:01:32 +00:00
2024-10-10 06:48:37 +00:00
2019-09-24 14:01:32 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2022-06-10 16:46:57 +00:00
2022-06-10 16:46:57 +00:00
2022-06-10 16:46:57 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2019-07-08 10:15:46 +00:00
2019-07-08 10:15:46 +00:00
2019-07-08 10:15:46 +00:00
2022-07-12 06:44:27 +00:00
2022-07-12 06:44:27 +00:00
2018-08-23 15:43:29 +00:00
2017-12-09 16:29:23 +00:00
2017-12-09 16:29:23 +00:00
2018-11-23 11:33:21 +00:00
2018-11-23 11:33:21 +00:00
2018-03-08 18:57:45 +00:00
2018-03-08 18:57:45 +00:00
2021-07-08 14:31:27 +00:00
2018-12-19 17:10:57 +00:00
2019-01-21 11:37:32 +00:00
2018-12-19 17:10:57 +00:00
2019-01-21 11:37:32 +00:00
2018-12-19 17:10:57 +00:00
2019-01-21 11:37:32 +00:00
2018-12-19 17:10:57 +00:00
2019-01-21 11:37:32 +00:00
2018-01-10 17:29:46 +00:00
2025-07-14 05:35:19 -07:00
2025-07-14 05:35:19 -07:00
2018-02-01 20:46:11 +00:00
2018-02-01 20:46:11 +00:00
2019-06-27 13:25:48 +00:00
2019-06-27 13:25:48 +00:00
2026-05-07 01:29:09 -07:00
2026-05-07 01:29:09 -07:00
2026-07-10 09:28:49 -07:00
2026-07-10 09:28:49 -07:00
2025-05-15 02:37:42 -07:00
2025-05-15 02:37:42 -07:00
2026-04-14 09:53:48 -07:00
2026-04-14 09:53:48 -07:00
2021-08-18 01:30:10 +00:00
2021-08-18 01:30:10 +00:00
2022-02-18 08:51:12 +00:00
2022-02-18 08:51:12 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-04-27 09:40:13 +00:00
2022-08-02 17:19:33 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2020-02-05 11:27:58 +00:00
2022-04-04 14:08:56 +00:00
2022-04-04 14:08:56 +00:00
2022-04-04 14:08:56 +00:00
2022-04-04 14:08:56 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2019-10-24 01:54:58 +00:00
2019-10-24 01:54:58 +00:00
2025-10-10 05:47:44 -07:00
2025-10-10 05:47:44 -07:00
2020-08-10 09:07:35 +00:00
2020-08-10 09:07:35 +00:00
2021-12-06 22:14:56 +00:00
2024-11-19 13:12:33 +00:00
2018-12-19 11:02:01 +00:00
2019-01-21 11:37:32 +00:00
2019-01-21 11:37:32 +00:00
2019-01-21 11:37:32 +00:00
2017-11-23 15:40:41 +00:00
2021-07-08 14:31:27 +00:00
2021-07-08 14:31:27 +00:00
2021-07-08 14:31:27 +00:00
2021-07-08 14:31:27 +00:00
2018-09-05 09:29:51 +00:00
2021-07-08 14:31:27 +00:00
2021-07-08 14:31:27 +00:00
2022-07-12 06:44:27 +00:00
2022-07-12 06:44:27 +00:00
2019-01-22 19:37:23 +00:00
2019-01-22 19:37:23 +00:00
2025-02-24 16:13:01 -08:00
2025-02-24 16:13:01 -08:00
2019-01-21 11:37:32 +00:00
2022-11-11 13:43:32 +00:00
2022-11-11 13:43:32 +00:00
2021-06-01 13:37:57 +00:00
2021-04-21 12:49:30 +00:00
2021-06-01 13:37:57 +00:00
2021-04-21 12:49:30 +00:00
2022-11-04 22:50:50 +00:00
2022-06-08 12:56:36 +00:00
2022-06-09 15:37:18 +00:00
2025-01-29 07:37:40 -08:00
2022-11-04 22:50:50 +00:00
2022-06-08 12:56:36 +00:00
2024-10-16 17:28:27 +00:00
2025-01-29 07:37:40 -08:00
2024-10-16 17:28:27 +00:00
2025-01-29 07:37:40 -08:00
2024-10-16 17:28:27 +00:00
2025-01-29 07:37:40 -08:00
2024-10-16 17:28:27 +00:00
2025-01-29 07:37:40 -08:00
2021-06-01 13:37:57 +00:00
2021-04-21 12:49:30 +00:00
2021-06-01 13:37:57 +00:00
2021-04-21 12:49:30 +00:00
2021-06-01 13:37:57 +00:00
2026-10-27 05:30:33 -07:00
2024-10-16 17:28:27 +00:00
2025-01-29 07:37:40 -08:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2022-09-20 07:24:42 +00:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2021-04-08 23:10:53 +00:00
2022-09-20 07:24:42 +00:00