RFR: 8350471: Unhandled compilation bailout in GraphKit::builtin_throw
Manuel Hässig
duke at openjdk.org
Wed Mar 26 08:59:56 UTC 2025
# Issue Summary
When creating a builtin exception node, a stress test decided to bail out as if the allocation of the builtin exception objects had failed. Since these are preallocated at VM creation, the test failure is a false positive.
# Change Rationale
`GraphKit::builtin_throw()` features a bailout check after getting an appropriate exception object. However, up to that point, the execution in `builtin_throw()` cannot fail. In particular, there can be no failure to allocate the exception because these are all preallocated during `Threads::create_vm()` startup in `universe_post_init()` and `Threads:initialize_java_lang_classes()`. Further, none of the three callers handles a possible bailout in `builtin_throw()`. Hence, this PR removes the bailout check responsible for the test failure
# Testing
- [Github Actions](https://github.com/mhaessig/jdk/actions/runs/14078715650)
- tier1 through tier3 and Oracle internal testing
-------------
Commit messages:
- graphKit: remove unneeded failure check in builtin_throw()
Changes: https://git.openjdk.org/jdk/pull/24243/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24243&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8350471
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/24243.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24243/head:pull/24243
PR: https://git.openjdk.org/jdk/pull/24243
More information about the hotspot-compiler-dev
mailing list