On Mon, 13 Jul 2026 11:31:39 GMT, Aleksey Shipilev <[email protected]> wrote:
>> src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp line 285:
>>
>>> 283: cbnzw(r_profile_rng, not_zero);
>>> 284: stop("non-zero required before step");
>>> 285: bind(not_zero);
>>
>> Want to guard this with `ASSERT`? Also I suspect we can legitimately have
>> zero as LCG state, so it can fire in product builds?
>
> Still bothers me. `state` *is* `r_profile_rng`, right? So test that?
>
> And the second part of my original comment is unresolved: isn't state `0`
> normally reachable? Isn't `LGC(69069, 1, 2^32)` full-period in 2^32? So `0`
> is trivially reachable, and we should be hitting this assert with
> `-XX:-UseCRC32`?
...also, I do not see these checks on `x86`. Are they needed there? Are they
really needed at all?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28541#discussion_r3570276726