From ad4f7afca90192ec8677e1ae2dedb865f1986209 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Thu, 5 Dec 2024 16:56:15 +0100 Subject: [PATCH 1/4] Add more wasm features --- features/wasm-exception-handling.yml | 2 +- features/wasm-exnref-exceptions.yml | 6 ++++++ features/wasm-exnref-exceptions.yml.dist | 10 ++++++++++ features/wasm-memory64.yml | 6 ++++++ features/wasm-memory64.yml.dist | 8 ++++++++ features/wasm-string-builtins.yml | 6 ++++++ features/wasm-string-builtins.yml.dist | 10 ++++++++++ features/wasm-typed-fun-refs.yml | 6 ++++++ features/wasm-typed-fun-refs.yml.dist | 13 +++++++++++++ scripts/specs.ts | 16 ++++++++++++++++ 10 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 features/wasm-exnref-exceptions.yml create mode 100644 features/wasm-exnref-exceptions.yml.dist create mode 100644 features/wasm-memory64.yml create mode 100644 features/wasm-memory64.yml.dist create mode 100644 features/wasm-string-builtins.yml create mode 100644 features/wasm-string-builtins.yml.dist create mode 100644 features/wasm-typed-fun-refs.yml create mode 100644 features/wasm-typed-fun-refs.yml.dist diff --git a/features/wasm-exception-handling.yml b/features/wasm-exception-handling.yml index a903136fc1a..c878e5cfa09 100644 --- a/features/wasm-exception-handling.yml +++ b/features/wasm-exception-handling.yml @@ -1,6 +1,6 @@ name: Exception handling (WebAssembly) description: Exceptions break the normal control flow of execution to represent exceptional behavior, such as an error. You can respond to the exception in JavaScript code. -spec: https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md +spec: https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/legacy/Exceptions.md group: webassembly status: compute_from: webassembly.api.Exception diff --git a/features/wasm-exnref-exceptions.yml b/features/wasm-exnref-exceptions.yml new file mode 100644 index 00000000000..abe0ae7be28 --- /dev/null +++ b/features/wasm-exnref-exceptions.yml @@ -0,0 +1,6 @@ +name: Exception references with exnref (WebAssembly) +description: When caught, an exception is reified into an exception reference, a value of the new type `exnref`. +spec: https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md +group: webassembly +compat_features: + - webassembly.exceptionsFinal diff --git a/features/wasm-exnref-exceptions.yml.dist b/features/wasm-exnref-exceptions.yml.dist new file mode 100644 index 00000000000..9c3c86be284 --- /dev/null +++ b/features/wasm-exnref-exceptions.yml.dist @@ -0,0 +1,10 @@ +# Generated from: wasm-exnref-exceptions.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + firefox: "131" + firefox_android: "131" +compat_features: + - webassembly.exceptionsFinal diff --git a/features/wasm-memory64.yml b/features/wasm-memory64.yml new file mode 100644 index 00000000000..7afb146705a --- /dev/null +++ b/features/wasm-memory64.yml @@ -0,0 +1,6 @@ +name: Memory64 (WebAssembly) +description: Extends instructions to allow 64-bit indexes. +spec: https://github.com/WebAssembly/memory64/blob/main/proposals/memory64/Overview.md +group: webassembly +compat_features: + - webassembly.memory64 diff --git a/features/wasm-memory64.yml.dist b/features/wasm-memory64.yml.dist new file mode 100644 index 00000000000..3e622c194a9 --- /dev/null +++ b/features/wasm-memory64.yml.dist @@ -0,0 +1,8 @@ +# Generated from: wasm-memory64.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - webassembly.memory64 diff --git a/features/wasm-string-builtins.yml b/features/wasm-string-builtins.yml new file mode 100644 index 00000000000..3c725ad261e --- /dev/null +++ b/features/wasm-string-builtins.yml @@ -0,0 +1,6 @@ +name: JavaScript string builtins (WebAssembly) +description: The WASM builtin string functions mirror a subset of the JavaScript String API and adapt it to be efficiently callable without JavaScript glue code. +spec: https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md +group: webassembly +compat_features: + - webassembly.jsStringBuiltins diff --git a/features/wasm-string-builtins.yml.dist b/features/wasm-string-builtins.yml.dist new file mode 100644 index 00000000000..b30a208492c --- /dev/null +++ b/features/wasm-string-builtins.yml.dist @@ -0,0 +1,10 @@ +# Generated from: wasm-string-builtins.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "130" + edge: "130" +compat_features: + - webassembly.jsStringBuiltins diff --git a/features/wasm-typed-fun-refs.yml b/features/wasm-typed-fun-refs.yml new file mode 100644 index 00000000000..857f3cf3b93 --- /dev/null +++ b/features/wasm-typed-fun-refs.yml @@ -0,0 +1,6 @@ +name: Typed function references (WebAssembly) +description: Function references that are typed and that can be called directly. +spec: https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md +group: webassembly +compat_features: + - webassembly.typedFunctionReferences diff --git a/features/wasm-typed-fun-refs.yml.dist b/features/wasm-typed-fun-refs.yml.dist new file mode 100644 index 00000000000..d5e56aed76a --- /dev/null +++ b/features/wasm-typed-fun-refs.yml.dist @@ -0,0 +1,13 @@ +# Generated from: wasm-typed-fun-refs.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "119" + chrome_android: "119" + edge: "119" + firefox: "120" + firefox_android: "120" +compat_features: + - webassembly.typedFunctionReferences diff --git a/scripts/specs.ts b/scripts/specs.ts index 4574ccf7475..2cbf37fb90a 100644 --- a/scripts/specs.ts +++ b/scripts/specs.ts @@ -76,6 +76,22 @@ const defaultAllowlist: allowlistItem[] = [ [ "https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md", "Allowed because there is no other specification to link to." + ], + [ + "https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md", + "Allowed because there is no other specification to link to." + ], + [ + "https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md", + "Allowed because there is no other specification to link to." + ], + [ + "https://github.com/WebAssembly/memory64/blob/main/proposals/memory64/Overview.md", + "Allowed because there is no other specification to link to." + ], + [ + "https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/legacy/Exceptions.md", + "Allowed because there is no other specification to link to." ] ]; From fc34be7c4076aff1acf038128fa45c50fc06b4f1 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 10 Dec 2024 13:39:27 +0100 Subject: [PATCH 2/4] Apply suggestions from code review Co-authored-by: Daniel D. Beck --- features/wasm-memory64.yml | 2 +- features/wasm-string-builtins.yml | 2 +- features/wasm-typed-fun-refs.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/wasm-memory64.yml b/features/wasm-memory64.yml index 7afb146705a..7067d85f8cd 100644 --- a/features/wasm-memory64.yml +++ b/features/wasm-memory64.yml @@ -1,5 +1,5 @@ name: Memory64 (WebAssembly) -description: Extends instructions to allow 64-bit indexes. +description: Instructions accept 64-bit memory indexes. spec: https://github.com/WebAssembly/memory64/blob/main/proposals/memory64/Overview.md group: webassembly compat_features: diff --git a/features/wasm-string-builtins.yml b/features/wasm-string-builtins.yml index 3c725ad261e..870face9bf2 100644 --- a/features/wasm-string-builtins.yml +++ b/features/wasm-string-builtins.yml @@ -1,5 +1,5 @@ name: JavaScript string builtins (WebAssembly) -description: The WASM builtin string functions mirror a subset of the JavaScript String API and adapt it to be efficiently callable without JavaScript glue code. +description: The WebAssembly builtin string functions mirror a subset of the JavaScript `String` API and adapt it to be efficiently callable without JavaScript glue code. spec: https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md group: webassembly compat_features: diff --git a/features/wasm-typed-fun-refs.yml b/features/wasm-typed-fun-refs.yml index 857f3cf3b93..79045ec430b 100644 --- a/features/wasm-typed-fun-refs.yml +++ b/features/wasm-typed-fun-refs.yml @@ -1,5 +1,5 @@ name: Typed function references (WebAssembly) -description: Function references that are typed and that can be called directly. +description: A typed function reference can be called directly. spec: https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md group: webassembly compat_features: From 521d4eeb0ed330bec2365e96e8c2661d65c68a4f Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 10 Dec 2024 13:40:08 +0100 Subject: [PATCH 3/4] Update features/wasm-string-builtins.yml Co-authored-by: Daniel D. Beck --- features/wasm-string-builtins.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/wasm-string-builtins.yml b/features/wasm-string-builtins.yml index 870face9bf2..67b75d59f61 100644 --- a/features/wasm-string-builtins.yml +++ b/features/wasm-string-builtins.yml @@ -1,4 +1,4 @@ -name: JavaScript string builtins (WebAssembly) +name: String builtins (WebAssembly) description: The WebAssembly builtin string functions mirror a subset of the JavaScript `String` API and adapt it to be efficiently callable without JavaScript glue code. spec: https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md group: webassembly From 80eec457270592e59a45c1d576709382babc6b7b Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 10 Dec 2024 13:42:51 +0100 Subject: [PATCH 4/4] npm run dist --- features/wasm-typed-fun-refs.yml.dist | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/features/wasm-typed-fun-refs.yml.dist b/features/wasm-typed-fun-refs.yml.dist index d5e56aed76a..3de335c9886 100644 --- a/features/wasm-typed-fun-refs.yml.dist +++ b/features/wasm-typed-fun-refs.yml.dist @@ -2,12 +2,15 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: low + baseline_low_date: 2024-09-16 support: chrome: "119" chrome_android: "119" edge: "119" firefox: "120" firefox_android: "120" + safari: "18" + safari_ios: "18" compat_features: - webassembly.typedFunctionReferences