Integrated: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime

Doug Simon dnsimon at openjdk.org
Wed Dec 7 22:14:16 UTC 2022


On Mon, 5 Dec 2022 13:16:25 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

> Libgraal is compiled ahead of time and should not need any JVMCI Java code to be dynamically loaded at runtime. Prior to this PR, this is not the case due to:
> 
> * Code to copy system properties from the HotSpot heap into the libgraal heap. This is in `jdk.vm.ci.services.Services.initializeSavedProperties(byte[])` and `jdk.vm.ci.services.Services.serializeSavedProperties()`. This code should be moved to `java.base/jdk.internal.vm.VMSupport`.
> * Code to translate exceptions from the HotSpot heap into the libgraal heap and vice versa. This code should be moved from `jdk.internal.vm.ci//jdk.vm.ci.hotspot.TranslatedException` to `java.base/jdk.internal.vm.VMSupport`.
> 
> This PR makes the above changes. As a result, it's possible to build a JDK image that includes (and uses) libgraal but does not include `jdk.internal.vm.ci` or `jdk.internal.vm.compiler`. This both reduces footprint and better isolates the JAVMCI and the Graal compiler as accessing these components from Java code is now impossible.

This pull request has now been integrated.

Changeset: 8b69a2e4
Author:    Doug Simon <dnsimon at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/8b69a2e434ad2fa3369079622b57afb973d5bd9a
Stats:     1438 lines in 20 files changed: 628 ins; 714 del; 96 mod

8298099: [JVMCI] decouple libgraal from JVMCI module at runtime

Reviewed-by: never

-------------

PR: https://git.openjdk.org/jdk/pull/11513


More information about the core-libs-dev mailing list