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

Zhengyu Gu zgu at redhat.com
Mon Nov 4 18:42:19 UTC 2019

On 11/4/19 1:39 PM, Aleksey Shipilev wrote:
> 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?
Roman suggested.

Roman, could you answer?



> 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