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.

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list