RFR: 8331418: ZGC: generalize barrier liveness logic [v2]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu May 2 07:57:18 UTC 2024


On Tue, 30 Apr 2024 21:34:56 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> Roberto Castañeda Lozano has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Use VMReg::is_concrete for testing sub-registers
>
> src/hotspot/share/gc/shared/c2/barrierSetC2.cpp line 127:
> 
>> 125:   while (OptoReg::is_reg(reg)) {
>> 126:     const VMReg vm_reg = OptoReg::as_VMReg(reg);
>> 127:     if (!(vm_reg->is_Register()) || vm_reg->as_Register() != r) {
> 
> This doesn't work on PPC64: We run into "assert(is_Register() && is_even(value())) failed: even-aligned GPR name" (vmreg_ppc.hpp:54). Calling `as_Register()` is only supported for the even ones.
> Maybe add check `is_concrete()`?

Done (commit https://github.com/openjdk/jdk/pull/19026/commits/c0fc66deb654a9b930a7b7cf1a7e7fa093739027). @TheRealMDoerr please let me know if this works on PPC64.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19026#discussion_r1587216311


More information about the hotspot-compiler-dev mailing list