Skip to content

Commit 0b72fce

Browse files
committed
Create polyglot-isolate library for wasm language.
1 parent 924c962 commit 0b72fce

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

sdk/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ This changelog summarizes major changes between GraalVM SDK versions. The main f
88
* GR-63588 A new entry (`Invalidated`) was added to the `opt deopt` truffle compilation logs. It is `true` or `false` depending on whether the compilation was also invalidated.
99
* GR-66817 Make `--polyglot` the default for language launchers, so there is no need to specify it anymore to use other languages in standalones. As a result, `AbstractLanguageLauncher#getDefaultLanguages()` and `Launcher#canPolyglot()` have been deprecated.
1010
* GR-65404 Remove `PolyglotLauncher` as it is no longer used.
11+
* GR-63009: The WebAssembly (Wasm) language is now available as a polyglot isolate.
12+
* GR-63009: JavaScript polyglot isolate now includes support for the WebAssembly (Wasm) language.
1113

1214
## Version 25.0.0
1315
* GR-60636 Truffle now stops compiling when the code cache fills up on HotSpot. A warning is printed when that happens.

truffle/mx.truffle/mx_truffle.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,7 +1471,7 @@ def build(self):
14711471

14721472
def register_polyglot_isolate_distributions(language_suite, register_project, register_distribution, language_id,
14731473
subDir, language_pom_distribution, maven_group_id, language_license,
1474-
isolate_build_options=None, platforms=None):
1474+
isolate_build_options=None, platforms=None, additional_image_path_artifacts=None):
14751475
"""
14761476
Creates and registers the polyglot isolate resource distribution and isolate resource meta-POM distribution.
14771477
The created polyglot isolate resource distribution is named `<ID>_ISOLATE_RESOURCES`, inheriting the Maven group ID
@@ -1491,6 +1491,7 @@ def register_polyglot_isolate_distributions(language_suite, register_project, re
14911491
:param str | list | language_license: Language licence(s).
14921492
:param list isolate_build_options: additional options passed to a native image to build the isolate library.
14931493
:param list platforms: supported platforms, defaults to ['linux-amd64', 'linux-aarch64', 'darwin-amd64', 'darwin-aarch64', 'windows-amd64']
1494+
:param list additional_image_path_artifacts: additional artifacts to include in the polyglot isolate library image path
14941495
"""
14951496
assert language_suite
14961497
assert register_project
@@ -1515,6 +1516,10 @@ def _qualname(distribution_name):
15151516
language_pom_distribution = _qualname(language_pom_distribution)
15161517
if isolate_build_options is None:
15171518
isolate_build_options = []
1519+
if additional_image_path_artifacts:
1520+
additional_image_path_artifacts = [_qualname(d) for d in additional_image_path_artifacts]
1521+
else:
1522+
additional_image_path_artifacts = []
15181523
language_id_upper_case = language_id.upper()
15191524
if platforms is None:
15201525
platforms = [
@@ -1545,7 +1550,7 @@ def _qualname(distribution_name):
15451550

15461551
if build_for_current_platform:
15471552
# 2. Register a project building the isolate library
1548-
isolate_deps = [language_pom_distribution, 'truffle-enterprise:TRUFFLE_ENTERPRISE']
1553+
isolate_deps = [language_pom_distribution, 'truffle-enterprise:TRUFFLE_ENTERPRISE'] + additional_image_path_artifacts
15491554
build_library = PolyglotIsolateProject(language_suite, language_id, isolate_deps, isolate_build_options)
15501555
register_project(build_library)
15511556

0 commit comments

Comments
 (0)