RFR 8233500: Shenandoah: Shenandoah load barrier should save registers before calling keep alive barrier on x86

Aleksey Shipilev shade at redhat.com
Mon Nov 4 18:39:33 UTC 2019

On 11/4/19 7:34 PM, Zhengyu Gu wrote:
>> SATB handling is similar to G1 is doing, where's the similar code in G1? The patch adds save/restore
>> at in SBSA::load_at, but there is a similar block in SBSA::store_at, why it is not needed there?
> Because we do self-fixing in LRB and have to reshuffle registers.

Okay. So AArch64 does enter()/leave(), why x86 needs the entire IU_state pushed/popped?

My concern is that pushing/popping the entire state explodes code size (we don't care about
performance much, but we do care about hitting the stub boundaries), and probably hides some bugs
with register shuffles.


More information about the hotspot-gc-dev mailing list