[jdk17u-dev] RFR: 8317507: C2 compilation fails with "Exceeded _node_regs array"

Aleksey Shipilev shade at openjdk.org
Wed Dec 13 10:04:46 UTC 2023


On Mon, 11 Dec 2023 17:10:54 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Clean backport to fix the C2 corner case.
> 
> Additional testing:
>  - [x] New regression test fails without the fix, passes with it
>  - [x] Linux x86_64 server fastdebug,`tier{1,2,3,4}`
>  - [x] Linux AArch64 server fastdebug,`tier{1,2,3}`

Yeah, accepting more nodes is a disadvantage of the fix. But if we look closely at the way it fails in fastdebug for the given test cases, I think assert catches the OOB access in `PhaseCFG::insert_goto_at` calling to `PhaseRegAlloc::set_bad`, which suggests that we are actually dealing with memory stomp, not a clean bail. This explains why bug is P2. So, on balance, accepting more compiler footprint to avoid compiler memory stomp is good?

-------------

PR Comment: https://git.openjdk.org/jdk17u-dev/pull/2039#issuecomment-1853609860


More information about the jdk-updates-dev mailing list