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