Skip to content

Commit

Permalink
Update to GraalVM 24.0.0 (#9647)
Browse files Browse the repository at this point in the history
Update the GraalVM-related Maven packages from **23.1.2** to **24.0.0**.

# Important Notes
- Reverted workarounds mentioned in #9477

The language home search functionality in Truffle changed. It used to find the home for Enso from the class loader of `EnsoLanguage`:
https://github.com/oracle/graal/blob/graal-23.1.2/truffle/src/com.oracle.truffle.polyglot/src/com/oracle/truffle/polyglot/LanguageCache.java#L362

In 24.0.0, the language home is no longer found via class loader, but via system properties:
https://github.com/oracle/graal/blob/graal-24.0.0/truffle/src/com.oracle.truffle.polyglot/src/com/oracle/truffle/polyglot/LanguageCache.java#L353

I provided a "fix" for this by an explicit specification of the `org.graalvm.language.enso.home` system property in our launchers.
  • Loading branch information
Akirathan authored Apr 12, 2024
1 parent 3b21f55 commit 0d915d0
Show file tree
Hide file tree
Showing 140 changed files with 212 additions and 187 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ val graalVersion = "21.0.2"
// Version used for the Graal/Truffle related Maven packages
// Keep in sync with GraalVM.version. Do not change the name of this variable,
// it is used by the Rust build script via regex matching.
val graalMavenPackagesVersion = "23.1.2"
val graalMavenPackagesVersion = "24.0.0"
val targetJavaVersion = "17"
val defaultDevEnsoVersion = "0.0.0-dev"
val ensoVersion = sys.env.getOrElse(
Expand Down
2 changes: 1 addition & 1 deletion distribution/bin/enso
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ for opt in "$@"; do
done


exec java --module-path $COMP_PATH $EXTRA_OPTS $JAVA_OPTS -m org.enso.runtime/org.enso.EngineRunnerBootLoader "$@"
exec java --module-path $COMP_PATH -Dorg.graalvm.language.enso.home=$COMP_PATH $EXTRA_OPTS $JAVA_OPTS -m org.enso.runtime/org.enso.EngineRunnerBootLoader "$@"
exit
2 changes: 1 addition & 1 deletion distribution/bin/enso.bat
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ if /I %%A==--dump-graphs (
set EXTRA_OPTS=%EXTRA_OPTS% -Dgraal.Dump=Truffle:1
)
)
java --module-path %comp-dir% -Dpolyglot.compiler.IterativePartialEscape=true %EXTRA_OPTS% %JAVA_OPTS% -m org.enso.runtime/org.enso.EngineRunnerBootLoader %*
java --module-path %comp-dir% -Dorg.graalvm.language.enso.home=%comp-dir% -Dpolyglot.compiler.IterativePartialEscape=true %EXTRA_OPTS% %JAVA_OPTS% -m org.enso.runtime/org.enso.EngineRunnerBootLoader %*
exit /B %errorlevel%
40 changes: 20 additions & 20 deletions distribution/engine/THIRD-PARTY/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -328,77 +328,82 @@ Copyright notices related to this dependency can be found in the directory `org.

'js-language', licensed under the MIT License, is distributed with the engine.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.js.js-language-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.js.js-language-24.0.0`.


'llvm-api', licensed under the New BSD License (3-clause BSD license), is distributed with the engine.
The license file can be found at `licenses/BSD-3-Clause`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.llvm.llvm-api-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.llvm.llvm-api-24.0.0`.


'polyglot', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-24.0.0`.


'python-language', licensed under the MIT License, is distributed with the engine.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.python.python-language-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.python.python-language-24.0.0`.


'python-resources', licensed under the MIT License, is distributed with the engine.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.python.python-resources-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.python.python-resources-24.0.0`.


'regex', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.regex.regex-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.regex.regex-24.0.0`.


'collections', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-24.0.0`.


'nativeimage', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-24.0.0`.


'word', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-24.0.0`.


'icu4j', licensed under the Unicode/ICU License, is distributed with the engine.
The license information can be found along with the copyright notices.
Copyright notices related to this dependency can be found in the directory `org.graalvm.shadowed.icu4j-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.shadowed.icu4j-24.0.0`.


'json', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.shadowed.json-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.shadowed.json-24.0.0`.


'xz', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.shadowed.xz-24.0.0`.


'profiler-tool', licensed under the GNU General Public License, version 2, with the Classpath Exception, is distributed with the engine.
The license file can be found at `licenses/GNU_General_Public_License__version_2__with_the_Classpath_Exception`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.tools.profiler-tool-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.tools.profiler-tool-24.0.0`.


'truffle-api', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-24.0.0`.


'truffle-nfi', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-nfi-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-nfi-24.0.0`.


'truffle-nfi-libffi', licensed under the Universal Permissive License, Version 1.0, is distributed with the engine.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-nfi-libffi-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-nfi-libffi-24.0.0`.


'jline', licensed under the The BSD License, is distributed with the engine.
Expand Down Expand Up @@ -451,11 +456,6 @@ The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.slf4j.slf4j-api-2.0.9`.


'xz', licensed under the Public Domain, is distributed with the engine.
The license file can be found at `licenses/Public_Domain`.
Copyright notices related to this dependency can be found in the directory `org.tukaani.xz-1.9`.


'cats-core_2.13', licensed under the MIT, is distributed with the engine.
The license file can be found at `licenses/MIT`.
Copyright notices related to this dependency can be found in the directory `org.typelevel.cats-core_2.13-2.9.0`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@
* limitations under the License.
*/

// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/

// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
Expand Down
1 change: 0 additions & 1 deletion distribution/engine/THIRD-PARTY/licenses/Public_Domain

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ Copyright (c) 1991, 2000, 2001 by Lucent Technologies.

Copyright (c) 1998, 2006, 2015, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2010, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2023, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ Copyright (c) 2008-2010 Bjoern Hoehrmann <[email protected]> See

Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021 Werner Randelshofer, Switzerland.

Copyright (c) 2023, 2023, Oracle and/or its affiliates. All rights reserved.
Expand Down
10 changes: 5 additions & 5 deletions distribution/launcher/THIRD-PARTY/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -143,27 +143,27 @@ Copyright notices related to this dependency can be found in the directory `org.

'polyglot', licensed under the Universal Permissive License, Version 1.0, is distributed with the launcher.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-24.0.0`.


'collections', licensed under the Universal Permissive License, Version 1.0, is distributed with the launcher.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-24.0.0`.


'nativeimage', licensed under the Universal Permissive License, Version 1.0, is distributed with the launcher.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-24.0.0`.


'word', licensed under the Universal Permissive License, Version 1.0, is distributed with the launcher.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-24.0.0`.


'truffle-api', licensed under the Universal Permissive License, Version 1.0, is distributed with the launcher.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-24.0.0`.


'scala-java8-compat_2.13', licensed under the Apache-2.0, is distributed with the launcher.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ Copyright (c) 2008-2010 Bjoern Hoehrmann <[email protected]> See

Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021 Werner Randelshofer, Switzerland.

Copyright (c) 2023, 2023, Oracle and/or its affiliates. All rights reserved.
Expand Down
8 changes: 4 additions & 4 deletions distribution/lib/Standard/Base/0.0.0-dev/THIRD-PARTY/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,20 @@ Copyright notices related to this dependency can be found in the directory `com.

'polyglot', licensed under the Universal Permissive License, Version 1.0, is distributed with the Base.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-24.0.0`.


'collections', licensed under the Universal Permissive License, Version 1.0, is distributed with the Base.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-24.0.0`.


'nativeimage', licensed under the Universal Permissive License, Version 1.0, is distributed with the Base.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-24.0.0`.


'word', licensed under the Universal Permissive License, Version 1.0, is distributed with the Base.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-24.0.0`.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.

The above copyright notice and either this complete permission notice or at a

copyright rights in the Software, and any and all patent rights owned or
10 changes: 5 additions & 5 deletions distribution/project-manager/THIRD-PARTY/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -268,27 +268,27 @@ Copyright notices related to this dependency can be found in the directory `org.

'polyglot', licensed under the Universal Permissive License, Version 1.0, is distributed with the project-manager.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.polyglot.polyglot-24.0.0`.


'collections', licensed under the Universal Permissive License, Version 1.0, is distributed with the project-manager.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.collections-24.0.0`.


'nativeimage', licensed under the Universal Permissive License, Version 1.0, is distributed with the project-manager.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.nativeimage-24.0.0`.


'word', licensed under the Universal Permissive License, Version 1.0, is distributed with the project-manager.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.sdk.word-24.0.0`.


'truffle-api', licensed under the Universal Permissive License, Version 1.0, is distributed with the project-manager.
The license file can be found at `licenses/Universal_Permissive_License__Version_1.0`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-23.1.2`.
Copyright notices related to this dependency can be found in the directory `org.graalvm.truffle.truffle-api-24.0.0`.


'reactive-streams', licensed under the CC0, is distributed with the project-manager.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@
* limitations under the License.
*/

// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/

// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ Copyright (c) 2008-2010 Bjoern Hoehrmann <[email protected]> See

Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.

Copyright (c) 2021 Werner Randelshofer, Switzerland.

Copyright (c) 2023, 2023, Oracle and/or its affiliates. All rights reserved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ boolean hasType() {
}

@ExportMessage
Type getType(@Bind("$node") Node node, @Cached("1") int ignore) {
Type getType(@Bind("$node") Node node) {
var ctx = EnsoContext.get(node);
return ctx.getBuiltins().function();
}
Expand Down
Loading

0 comments on commit 0d915d0

Please sign in to comment.