diff --git a/docs/reference-manual/embedding/embed-languages.md b/docs/reference-manual/embedding/embed-languages.md index 8a204f534399..b8f2b7b22dcf 100644 --- a/docs/reference-manual/embedding/embed-languages.md +++ b/docs/reference-manual/embedding/embed-languages.md @@ -758,6 +758,7 @@ Currently, the following languages are available as polyglot isolates: |-------------------------------|----------------| | JavaScript (`js-isolate`) | 23.1 | | Python (`python-isolate`) | 24.1 | +| Wasm (`wasm-isolate`) | 25.0 | We plan to add support for more languages in future versions. @@ -1697,4 +1698,4 @@ public final class CHANGE_NAME_EngineFactory implements ScriptEngineFactory { } } - \ No newline at end of file + diff --git a/sdk/CHANGELOG.md b/sdk/CHANGELOG.md index cdc005834be2..3e6f3042b0b4 100644 --- a/sdk/CHANGELOG.md +++ b/sdk/CHANGELOG.md @@ -23,6 +23,7 @@ This changelog summarizes major changes between GraalVM SDK versions. The main f * GR-65561 Added `Context.Builder#apply`, `ContextBuilder#extendIO`, and `ContextBuilder#extendHostAccess` to enable composable Context configuration * GR-64947 Added `Engine.storeCache(Path)` to manually store [auxiliary engine caches](https://github.com/oracle/graal/blob/master/truffle/docs/AuxiliaryEngineCachingEnterprise.md) when needed. +* GR-63009: The WebAssembly (Wasm) language is now available as a polyglot isolate. ## Version 24.2.0 * GR-54905 When using Truffle NFI with the Panama backend, native access must now be granted to the Truffle module instead of the NFI Panama module. Use the `--enable-native-access=org.graalvm.truffle` Java command line option to enable the native access for the NFI Panama backend. diff --git a/vm/ci/ci_common/common.jsonnet b/vm/ci/ci_common/common.jsonnet index 72af2b2520ee..321fa564e86e 100644 --- a/vm/ci/ci_common/common.jsonnet +++ b/vm/ci/ci_common/common.jsonnet @@ -275,8 +275,8 @@ local devkits = graal_common.devkits; # 2. Ensure the language is either: # - already included in `ee_suites`, or # - its suite is listed in `polyglot_isolate_ce_suites`. - local polyglot_isolate_languages = ['js', 'python'], - local polyglot_isolate_ce_suites = ['graal-js', 'graalpython'], + local polyglot_isolate_languages = ['js', 'python', 'wasm'], + local polyglot_isolate_ce_suites = ['graal-js', 'graalpython', 'wasm'], local polyglot_isolate_mx_args = std.flattenArrays([['--suite', s] for s in polyglot_isolate_ce_suites]), legacy_mx_args:: [], # `['--force-bash-launcher=true', '--skip-libraries=true']` have been replaced by arguments from `vm.maven_deploy_base_functions.mx_args(os, arch)` diff --git a/wasm/mx.wasm/mx_wasm.py b/wasm/mx.wasm/mx_wasm.py index ce26c2629f90..2ece5310864a 100644 --- a/wasm/mx.wasm/mx_wasm.py +++ b/wasm/mx.wasm/mx_wasm.py @@ -116,6 +116,14 @@ class GraalWasmDefaultTags: wasmbenchtest = "wasmbenchtest" coverage = "coverage" +def mx_register_dynamic_suite_constituents(register_project, register_distribution): + if register_project and register_distribution: + isolate_build_options = [] + meta_pom = [p for p in _suite.dists if p.name == 'WASM_POM'][0] + mx_truffle.register_polyglot_isolate_distributions(_suite, register_project, register_distribution,'wasm', + 'src', meta_pom.name, meta_pom.maven_group_id(), meta_pom.theLicense, + isolate_build_options=isolate_build_options) + def wabt_test_args(): if not wabt_dir: