Libgraal is compiled ahead of time and should not need any JVMCI Java code to be dynamically loaded at runtime. Currently this is not the case due to the following:
* 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.
Resolving this issue will allow for building a JDK image that includes (and uses) libgraal but does not include jdk.internal.vm.ci or jdk.internal.vm.compiler.