Skip to content

Commit

Permalink
Add GraalWasm to "Feature Extensions" page. (#396)
Browse files Browse the repository at this point in the history
(Disclaimer: I'm on the [GraalVM](https://www.graalvm.org/) team that
maintains GraalWasm).

This PR adds GraalWasm to the [Feature Extensions
page](https://webassembly.org/features/). GraalWasm is an
[open-source](https://github.com/oracle/graal/tree/master/wasm)
WebAssembly runtime written in Java using our [Truffle
framework](https://www.graalvm.org/latest/graalvm-as-a-platform/language-implementation-framework/).
We introduced [it in
2019](https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2)
and plan to declare it as stable in the upcoming 24.1.0 release on
September 17, 2024.

Note that https://graalvm.org/webassembly will become available in the
next couple of days, we are still working on it.

I thought I open this PR now because it seems that the Feature
Extensions page may need a little tweaking. With the additional
GraalWasm entry, the table starts to become wider than the content box,
causing an awkward horizontal scrollbar (see below). I'm happy to
incorporate any fixes or improvements for this.


![image](https://github.com/user-attachments/assets/fd148227-6d6c-4486-94b4-af8c8217881c)
  • Loading branch information
fniephaus authored Aug 30, 2024
1 parent fd4c387 commit 4494726
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 49 deletions.
118 changes: 69 additions & 49 deletions features.json
Original file line number Diff line number Diff line change
Expand Up @@ -222,55 +222,6 @@
"typedFunctionReferences": "18"
}
},
"Wasmtime": {
"url": "https://wasmtime.dev/",
"logo": "/images/bca.svg",
"features": {
"bigInt": null,
"bulkMemory": "0.20",
"customAnnotationSyntaxInTheTextFormat": true,
"customPageSizes": ["flag", "Requires flag `--wasm=custom-page-sizes`"],
"esmIntegration": null,
"extendedConst": "25",
"gc": ["flag", "Requires flag `--wasm=gc`"],
"jspi": null,
"jsStringBuiltins": null,
"memory64": ["flag", "Requires flag `--wasm=memory64`"],
"multiMemory": "15",
"multiValue": "0.17",
"mutableGlobals": true,
"referenceTypes": "0.20",
"relaxedSimd": "15",
"saturatedFloatToInt": true,
"signExtensions": true,
"simd": "0.33",
"tailCall": ["22", "Enabled by default when using the Cranelift backend, except for the s390x architecture"],
"threads": "15",
"typedFunctionReferences": ["flag", "Requires flag `--wasm=function-references`"],
"typeReflection": null,
"webContentSecurityPolicy": null
}
},
"Wasmer": {
"url": "https://wasmer.io/",
"logo": "/images/wasmer.svg",
"features": {
"bigInt": null,
"bulkMemory": "1.0",
"customAnnotationSyntaxInTheTextFormat": true,
"esmIntegration": null,
"jspi": null,
"jsStringBuiltins": null,
"multiValue": "1.0",
"mutableGlobals": "0.7",
"referenceTypes": "2.0",
"saturatedFloatToInt": true,
"signExtensions": true,
"simd": "2.0",
"typeReflection": "2.0",
"webContentSecurityPolicy": null
}
},
"Node.js": {
"url": "https://nodejs.org/",
"logo": "/images/nodejs.svg",
Expand Down Expand Up @@ -333,6 +284,75 @@
"webContentSecurityPolicy": null
}
},
"GraalWasm": {
"url": "https://github.com/oracle/graal/tree/master/wasm",
"logo": "/images/graalvm.svg",
"features": {
"bigInt": "21.3",
"bulkMemory": "23.0",
"customAnnotationSyntaxInTheTextFormat": null,
"extendedConst": ["flag", "Requires flag `--wasm.ExtendedConstExpressions=true`"],
"memory64": ["flag", "Requires flag `--wasm.Memory64=true`"],
"multiMemory": ["flag", "Requires flag `--wasm.MultiMemory=true`"],
"multiValue": "22.3",
"mutableGlobals": "21.3",
"referenceTypes": "23.0",
"saturatedFloatToInt": "22.3",
"signExtensions": "22.3",
"simd": "24.1",
"threads": ["flag", "Requires flag `--wasm.Threads=true`"],
"webContentSecurityPolicy": null
}
},
"Wasmtime": {
"url": "https://wasmtime.dev/",
"logo": "/images/bca.svg",
"features": {
"bigInt": null,
"bulkMemory": "0.20",
"customAnnotationSyntaxInTheTextFormat": true,
"customPageSizes": ["flag", "Requires flag `--wasm=custom-page-sizes`"],
"esmIntegration": null,
"extendedConst": "25",
"gc": ["flag", "Requires flag `--wasm=gc`"],
"jspi": null,
"jsStringBuiltins": null,
"memory64": ["flag", "Requires flag `--wasm=memory64`"],
"multiMemory": "15",
"multiValue": "0.17",
"mutableGlobals": true,
"referenceTypes": "0.20",
"relaxedSimd": "15",
"saturatedFloatToInt": true,
"signExtensions": true,
"simd": "0.33",
"tailCall": ["22", "Enabled by default when using the Cranelift backend, except for the s390x architecture"],
"threads": "15",
"typedFunctionReferences": ["flag", "Requires flag `--wasm=function-references`"],
"typeReflection": null,
"webContentSecurityPolicy": null
}
},
"Wasmer": {
"url": "https://wasmer.io/",
"logo": "/images/wasmer.svg",
"features": {
"bigInt": null,
"bulkMemory": "1.0",
"customAnnotationSyntaxInTheTextFormat": true,
"esmIntegration": null,
"jspi": null,
"jsStringBuiltins": null,
"multiValue": "1.0",
"mutableGlobals": "0.7",
"referenceTypes": "2.0",
"saturatedFloatToInt": true,
"signExtensions": true,
"simd": "2.0",
"typeReflection": "2.0",
"webContentSecurityPolicy": null
}
},
"wasm2c": {
"url": "https://github.com/WebAssembly/wabt",
"logo": "/images/wasm2c.svg",
Expand Down
8 changes: 8 additions & 0 deletions images/graalvm.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4494726

Please sign in to comment.