RFR: 8354282: C2: more crashes in compiled code because of dependency on removed range check CastIIs [v8]

Emanuel Peter epeter at openjdk.org
Tue Dec 2 15:32:58 UTC 2025


On Tue, 2 Dec 2025 15:19:26 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Actually, I'm wondering if the term `hoistable` and `non-hoistable` would not be better terms...
>
> At least we could say that it is allowed to hoist the RangeCheck,  and the CastII could float up to where the RC is hoisted.

Suggestion:

    // Use case example: Range Check CastII
    // Floating: The Cast is only dependent on the single range check. If the range check was ever to be hoisted
    //              is would be safe to let the the Cast float to where the range check is hoisted up to.
    // Narrowing: The Cast narrows the type to a positive index. If the input to the Cast is narrower, we can safely
    //            remove the cast because the array access will be safe.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24575#discussion_r2581692285


More information about the hotspot-dev mailing list