Skip to content

Conversation

@jerboaa
Copy link
Collaborator

@jerboaa jerboaa commented Oct 22, 2025

Merging upstream tag here:
https://github.com/oracle/graal/tree/vm-25.0.1

This new update will at least need JDK 25.0.1+8 to build (in GA config, which matches the OpenJDK 25 ga tag).

mur47x111 and others added 30 commits July 22, 2025 11:15
Improve verification of options: the list of options in help text is guaranteed to contain all options.

Mentions that it should be used with `--future-defaults=all` in the first sentence.

Removed enumeration from the list as it is not relevant and options are easier to read and copy/paste.

Option misuse now prints the whole option help text.
(cherry picked from commit f0d7c0d)
(cherry picked from commit 65256d1)
(cherry picked from commit 0b587eb)
…n CEntryPointSnippets.tearDownIsolate().

(cherry picked from commit 33efe03)
…t waits for all truffle compilation threads is executed from one of the compilation threads.
…id waiting for compilations on native-image compilation isolate tear down.
(cherry picked from commit 5cf6dbd)
…ne" for deopt cycle detection.

PullRequest: graal/22191
…gnosticsTests fail on Windows

PullRequest: graal/22076
djoooooe and others added 23 commits October 7, 2025 17:38
compile time

(cherry picked from commit 71400a1)

# Conflicts:
#	compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/phases/common/ConditionalEliminationPhase.java
#	compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/phases/common/FixReadsPhase.java
(cherry picked from commit 3a1e584)

# Conflicts:
#	compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/truffle/TruffleCompilerOptions.java
(cherry picked from commit a292bd5)
(cherry picked from commit c547a32)
(cherry picked from commit eabc321)
(cherry picked from commit 4d52df8)
(cherry picked from commit 48c7c3b)
… compressing bitsets

PullRequest: graal/22077
@jerboaa jerboaa requested a review from zakkak October 22, 2025 10:04
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Oct 22, 2025
Copy link
Collaborator

@zakkak zakkak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Either this or #907 should be OK to merge.

@jerboaa
Copy link
Collaborator Author

jerboaa commented Oct 22, 2025

Thanks. I'd like to run a final test with a local 25.0.1+8 GA build.

@jerboaa
Copy link
Collaborator Author

jerboaa commented Oct 22, 2025

Tested a local build with:

./bin/java --version
openjdk 25.0.1 2025-10-21 LTS
OpenJDK Runtime Environment (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM (build 25.0.1+8-LTS, mixed mode, sharing)

Which seems to build fine. Passes the JVMCI version check:

[...]
Finished generating 'libnative-image-agent' in 24.0s.
DEBUG [OperatingSystem] Execute [/disk/graal/upstream-sources/graalvm/mandrel-build/lib/svm/bin/native-image, --macro:native-image-diagnostics-agent-library] in /disk/graal/upstream-sources/graalvm with environment variables []
========================================================================================================================
GraalVM Native Image: Generating 'libnative-image-diagnostics-agent.so' (shared library)...
========================================================================================================================
[1/8] Initializing...                                                                                    (2.5s @ 0.26GB)
 Java version: 25.0.1+8-LTS, vendor version: Mandrel-25.0.1.0-Final
 Graal compiler: optimization level: 2, target machine: compatibility
 C compiler: gcc (redhat, x86_64, 15.2.1)
 Garbage collector: Serial GC (max heap size: 80% of RAM)
 3 user-specific feature(s):
 - com.oracle.svm.diagnosticsagent.NativeImageDiagnosticsAgent$RegistrationFeature
 - com.oracle.svm.driver.APIOptionFeature
 - com.oracle.svm.thirdparty.gson.GsonFeature
------------------------------------------------------------------------------------------------------------------------
 6 experimental option(s) unlocked:
 - '-H:Name' (alternative API option(s): -o libnative-image-diagnostics-agent; origin(s): command line)
 - '-H:+VerifyRuntimeCompilationFrameStates' (origin(s): macro option 'native-image-diagnostics-agent-library@file:///disk/graal/upstream-sources/graalvm/mandrel-build/lib/svm/macros/native-image-diagnostics-agent-library/@user')
 - '-H:+EnforceMaxRuntimeCompileMethods' (origin(s): macro option 'native-image-diagnostics-agent-library@file:///disk/graal/upstream-sources/graalvm/mandrel-build/lib/svm/macros/native-image-diagnostics-agent-library/@user')
 - '-H:Path': Use the '-o' option instead. (origin(s): command line)
 - '-H:+GuaranteeSubstrateTypesLinked' (origin(s): macro option 'native-image-diagnostics-agent-library@file:///disk/graal/upstream-sources/graalvm/mandrel-build/lib/svm/macros/native-image-diagnostics-agent-library/@user')
 - '-H:+AssertInitializationSpecifiedForAllClasses' (origin(s): macro option 'native-image-diagnostics-agent-library@file:///disk/graal/upstream-sources/graalvm/mandrel-build/lib/svm/macros/native-image-diagnostics-agent-library/@user')
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 28.45GB of memory (42.6% of system memory, using available memory)
 - 22 thread(s) (100.0% of 22 available processor(s), determined at start)
[2/8] Performing analysis...  [******]                                                                   (4.1s @ 0.41GB)
    3,327 types,   3,980 fields, and  15,493 methods found reachable
    1,066 types,      36 fields, and     421 methods registered for reflection
       58 types,      59 fields, and      52 methods registered for JNI access
        0 downcalls and 0 upcalls registered for foreign access
        4 native libraries: dl, pthread, rt, z
[3/8] Building universe...                                                                               (1.0s @ 0.40GB)
[4/8] Parsing methods...      [*]                                                                        (0.6s @ 0.44GB)
[5/8] Inlining methods...     [****]                                                                     (0.4s @ 0.46GB)
[6/8] Compiling methods...    [**]                                                                       (4.5s @ 0.56GB)
[7/8] Laying out methods...   [*]                                                                        (1.0s @ 0.64GB)
[8/8] Creating image...       [**]                                                                       (2.6s @ 0.48GB)
   5.47MB (21.70%) for code area:     8,900 compilation units
   7.67MB (30.42%) for image heap:   90,719 objects and 55 resources
   9.94MB (39.43%) for debug info generated in 0.6s
  12.07MB (47.88%) for other data
  25.20MB in total image size, 14.03MB in total file size
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area:                                Top 10 object types in image heap:
   3.71MB java.base                                            1.48MB byte[] for code metadata
   1.17MB svm.jar (Native Image)                               1.23MB byte[] for java.lang.String
 110.19kB java.logging                                       849.98kB java.lang.String
  90.71kB org.graalvm.nativeimage.base                       638.78kB com.oracle.svm.core.hub.DynamicHubCompanion
  48.90kB jdk.proxy2                                         460.12kB byte[] for general heap data
  38.97kB jdk.proxy1                                         431.83kB java.lang.Class
  37.98kB org.graalvm.nativeimage.configure                  319.87kB java.util.HashMap$Node
  28.97kB org.graalvm.nativeimage.agent.diagnostics          311.69kB heap alignment
  27.65kB jdk.internal.vm.ci                                 256.63kB java.lang.Object[]
  25.33kB jdk.graal.compiler                                 181.07kB java.util.HashMap$Node[]
  47.38kB for 7 more packages                                  1.51MB for 948 more object types
------------------------------------------------------------------------------------------------------------------------
Recommendations:
 FUTR: Use '--future-defaults=all' to prepare for future releases.
 HEAP: Set max heap for improved and more predictable memory usage.
------------------------------------------------------------------------------------------------------------------------
                       0.9s (5.2% of total time) in 131 GCs | Peak RSS: 1.58GB | CPU load: 14.52
------------------------------------------------------------------------------------------------------------------------
Build artifacts:
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/graal_isolate.h (c_header)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/graal_isolate_dynamic.h (c_header)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/libnative-image-diagnostics-agent.h (c_header)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/libnative-image-diagnostics-agent.so (shared_library)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/libnative-image-diagnostics-agent.so.debug (debug_info)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/libnative-image-diagnostics-agent_dynamic.h (c_header)
 /disk/graal/upstream-sources/graalvm/mandrel-build/lib/sources (debug_info)
========================================================================================================================
Finished generating 'libnative-image-diagnostics-agent' in 17.2s.
INFO [build] Congratulations you successfully built Mandrel 25.0.1.0-Final based on Java 25.0.1+8-LTS
INFO [build] You can find your newly built native-image enabled JDK under /disk/graal/upstream-sources/graalvm/mandrel-build
./mandrel-build/bin/native-image --version
native-image 25.0.1 2025-10-21
OpenJDK Runtime Environment Mandrel-25.0.1.0-Final (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Mandrel-25.0.1.0-Final (build 25.0.1+8-LTS, mixed mode)

@jerboaa jerboaa merged commit 057a9ad into graalvm:mandrel/25.0 Oct 22, 2025
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.