diff --git a/sdk/src/org.graalvm.nativeimage/src/org/graalvm/nativeimage/hosted/RuntimeClassInitialization.java b/sdk/src/org.graalvm.nativeimage/src/org/graalvm/nativeimage/hosted/RuntimeClassInitialization.java index 1d0d2c6d619a..e66e8841598e 100644 --- a/sdk/src/org.graalvm.nativeimage/src/org/graalvm/nativeimage/hosted/RuntimeClassInitialization.java +++ b/sdk/src/org.graalvm.nativeimage/src/org/graalvm/nativeimage/hosted/RuntimeClassInitialization.java @@ -150,6 +150,10 @@ public static void initializeAtRunTime(String... packages) { /** * Registers all classes in provided packages as eagerly initialized during image-build time. *
+ * Passing {@code ""} as a package, registers all packages and classes for initialization at + * build time. This might have unintended side-effects and should thus be used with great + * caution. + *
* All static initializers of {@code classes} will be executed during image-build time and * static fields that are assigned values will be available at runtime. {@code static final} * fields will be considered as constant. diff --git a/substratevm/mx.substratevm/mx_substratevm.py b/substratevm/mx.substratevm/mx_substratevm.py index fa896c41fdd9..5c16d31f27a8 100644 --- a/substratevm/mx.substratevm/mx_substratevm.py +++ b/substratevm/mx.substratevm/mx_substratevm.py @@ -1054,7 +1054,7 @@ def _native_image_launcher_extra_jvm_args(): Gets the extra JVM args needed for running com.oracle.svm.driver.NativeImage. """ # Support for running as Java module - res = [] + res = [f'-XX:{max_heap_size_flag}'] if not mx_sdk_vm.jdk_enables_jvmci_by_default(get_jdk()): res.extend(['-XX:+UnlockExperimentalVMOptions', '-XX:+EnableJVMCI']) return res @@ -1065,11 +1065,13 @@ def _native_image_launcher_extra_jvm_args(): '--link-at-build-time=com.oracle.svm.driver,com.oracle.svm.driver.metainf', ] +max_heap_size_flag = f"MaxHeapSize={round(0.8 * 256 * 1024 * 1024)}" # 80% of 256MB + driver_exe_build_args = driver_build_args + svm_experimental_options([ '-H:+AllowJRTFileSystem', '-H:IncludeResources=com/oracle/svm/driver/launcher/.*', '-H:-ParseRuntimeOptions', - f'-R:MaxHeapSize={256 * 1024 * 1024}', + f'-R:{max_heap_size_flag}', ]) additional_ni_dependencies = []