JDK-8310219 : C2: add a minimal regression test for JDK-8303513
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 22
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2023-06-16
  • Updated: 2023-06-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Description
Add a minimal, deterministic regression test that reproduces the scenario addressed by JDK-8303513. Currently the only way to exercise the relevant C2 path is running multiple instances of the long-running RunThese8M test using a specific configuration.

To reproduce the failure fixed in JDK-8303513, the test case needs to trigger a C2 compilation of a fully-expanded reflective array creation (java.lang.reflect.Array.newInstance) followed by a fully-expanded checkcast. The entire array creation and checkcast pattern needs to be found to be unreachable during IGVN, and optimized away in a specific order (first the fast path of the java.lang.reflect.Array.newInstance implementation, and then the slow path).