RFR: 8293351: Add second tmp register to aarch64 BarrierSetAssembler::load_at [v2]

Fei Yang fyang at openjdk.org
Tue Sep 6 06:57:45 UTC 2022


On Tue, 6 Sep 2022 06:35:13 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

>> "As resolve_weak_handle may call into the VM r11 may still be clobbered. "
>> -- I don't quite understand this.  If this is the case, shouldn't r11 be saved & restored immediate before and after the VM call together with other live caller-save registers?
>
> Maybe? Actually looking at it a second time it seems like r0-r7 and r9-r17 are pushed to the stack at the vm call I was looking at. 
> I am probably missing something. I do not fully understand the reason for pushing the registers at this point, not earlier or later. Would have to investigate further. I do however think that such a change belongs to a separate issue/PR. This PR should not change the instruction emission, only which registers are used.

I think the reason is that register r11 was used as temp register (and thus gets clobbered) by resolve_weak_handle previously. That's why this register was saved/restored here. But this has changed since it not used here anymore with your change. I am OK if you want to handle that in another PR. Just reminds. Thanks.

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

PR: https://git.openjdk.org/jdk/pull/10161


More information about the shenandoah-dev mailing list