You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: substratevm/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@
3
3
This changelog summarizes major changes to GraalVM Native Image.
4
4
5
5
## GraalVM 25.4 (Internal Version 25.4.4)
6
+
* (GR-75824) When native executables are built with `-H:+StrictRuntimeJavaOptions`, runtime assertion options (for example, `-ea`, `-da`, `-esa`, and `-dsa`) are supported and configure the assertion status of runtime-loaded classes and runtime-initialized image classes. They do not affect build-time-initialized classes whose assertion status is *only* configured by `native-image -ea ...`.
6
7
* (GR-71854) On Linux AMD64, Native Image now records the selected x86-64 ISA level in `.note.gnu.property` for `-march` values requiring x86-64-v2 or newer, so tools such as `readelf` report the requirement correctly.
7
8
* (GR-78784) Default to optional identity hash code fields with SerialGC. Few objects need one, and this optimization adds them during garbage collection. It can be disabled with `-H:-OptionalIdentityHashCodes`.
8
9
* (GR-78804) Added outlining for StringBuilder/StringBuffer append sequences and invokedynamic string concatenations. This reduces the binary size of native executables.
Copy file name to clipboardExpand all lines: substratevm/docs/runtime-class-loading.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,5 +63,15 @@ This matches HotSpot-style resource lookup behavior where each directory resourc
63
63
64
64
## Current Limitations
65
65
* Parallel class loading is explicitly disabled and not supported.
66
-
* The assertion status of classes is fixed at image build time.
66
+
* Assertion status depends on whether you build with `-H:-StrictRuntimeJavaOptions` or
67
+
`-H:+StrictRuntimeJavaOptions`:
68
+
* Build-time-initialized classes use the assertion status configured when the image is built.
69
+
Runtime `-ea`, `-da`, `-esa`, and `-dsa` options never change their status.
70
+
* Runtime-initialized image classes use the build-time `-ea`, `-da`, `-esa`, and `-dsa`
71
+
options when you build with `-H:-StrictRuntimeJavaOptions`.
72
+
When you build with `-H:+StrictRuntimeJavaOptions`, runtime `-ea`, `-da`, `-esa`, and `-dsa`
73
+
options control their status instead.
74
+
* Runtime-loaded classes use runtime assertion options.
75
+
The runtime assertion options are supported only when the image was built with
76
+
`-H:+StrictRuntimeJavaOptions`.
67
77
* Methods or static fields removed by analysis from a class included in the image have no fallback and cause an error if run-time-loaded code uses them.
0 commit comments