Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GR-49525] Option '--future-defaults=<option>' to enable options that are planned to become defaults in future releases. #10531

Merged
merged 1 commit into from
Mar 27, 2025

Conversation

graalvmbot
Copy link
Collaborator

@graalvmbot graalvmbot commented Jan 21, 2025

Introduced --future-defaults=[all|run-time-initialized-jdk|none] that allows for gentle migration to the future default behaviors of Native Image. The only currently enabled option is run-time-initialized-jdk. This option shifts away from build-time initialization of the JDK, instead initializing most of it at run time. This transition is gradual, with individual components of the JDK becoming run-time initialized in each release. This process should complete with JDK 29 when this option should not be needed anymore. Unless you store classes from the JDK in the image heap, this option should not affect you. In case this option breaks your build, follow the suggestions in the error messages.

Value all includes all options.
Value none resets all previous settings and can be set only on the command line. Other options can be placed in JAR files as well.

Note: what makes it into the future-defaults must not be an experimental feature that can be rolled back. The changes must permanent and guaranteed behavior for the future.

Build Output
 Recommendations:
 G1GC: Use the G1 GC ('--gc=G1') for improved latency and throughput.
 PGO:  Use Profile-Guided Optimizations ('--pgo') for improved throughput.
 FUTR: Use '--future-defaults=all' to prepare for future releases.
 HEAP: Set max heap for improved and more predictable memory usage.
 CPU:  Enable more CPU features with '-march=native' for improved performance.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jan 21, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch from 042504c to 1e04cbe Compare January 22, 2025 13:02
@jerboaa
Copy link
Collaborator

jerboaa commented Jan 22, 2025

@vjovanov Could you please add a description to this PR? It shows up empty over here :-/

@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch from 1e04cbe to 2c4518d Compare January 22, 2025 18:21
@graalvmbot graalvmbot changed the title [GR-49525] Mechanism to move JDK initialization to run time. [GR-49525] Flag --future-defaults=<option> meant to gently fix Native Image semantics. Mar 19, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch from 2c4518d to 850d001 Compare March 19, 2025 16:12
@graalvmbot graalvmbot changed the title [GR-49525] Flag --future-defaults=<option> meant to gently fix Native Image semantics. [GR-49525] Flag '--future-defaults=<option>' meant to gently migrate to correct Native Image semantics. Mar 19, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch 6 times, most recently from 82e78f3 to b51a3bc Compare March 19, 2025 18:22
@graalvmbot graalvmbot changed the title [GR-49525] Flag '--future-defaults=<option>' meant to gently migrate to correct Native Image semantics. [GR-49525] Flag '--future-defaults=<option>' for gentle migration to the correct Native Image semantics. Mar 19, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch from b51a3bc to 08a06dc Compare March 19, 2025 18:32
@graalvmbot graalvmbot changed the title [GR-49525] Flag '--future-defaults=<option>' for gentle migration to the correct Native Image semantics. [GR-49525] Option '--future-defaults=<option>' for gentle migration to the correct Native Image semantics. Mar 20, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch 5 times, most recently from 45744cb to 7d10858 Compare March 21, 2025 15:03
@graalvmbot graalvmbot changed the title [GR-49525] Option '--future-defaults=<option>' for gentle migration to the correct Native Image semantics. [GR-49525] Option '--future-defaults=<option>' to enable options that are planned to become defaults in future releases. Mar 21, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch 5 times, most recently from 7ef75e1 to a2e9882 Compare March 21, 2025 16:52
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch 2 times, most recently from def09c8 to 17ef1d7 Compare March 26, 2025 12:02
@graalvmbot graalvmbot force-pushed the vj/GR-49525-run-time-jdk-support branch from 17ef1d7 to 3f44bba Compare March 27, 2025 07:52
@graalvmbot graalvmbot closed this Mar 27, 2025
@graalvmbot graalvmbot deleted the vj/GR-49525-run-time-jdk-support branch March 27, 2025 22:42
@graalvmbot graalvmbot merged commit 0ad90d7 into master Mar 27, 2025
13 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.

3 participants