Shenandoah WB fastpath and optimizations
Roland Westrelin
rwestrel at redhat.com
Tue Dec 19 14:28:41 UTC 2017
> Could be, and it was my base theory at some point. But I'd expect more loads to manifest more
> reliably. As such, we seem to be very well within the L1-load budget to account for WB loads.
>
> In fact, I wanted to ask you what would it take to teach C2 to emit C1-style check, e.g. instead of:
>
> movzbl 0x3d8(%rTLS), %rScratch ; read evac-in-progress
> test %rScratch, %rScratch
> jne EVAC-ENABLED-SLOW-PATH
> mov -0x8(%rObj), %rObj ; read barrier
>
> ...do:
>
> cmpb 0x3d8(%TLS), 0 ; read evac-in-progress
> jne EVAC-ENABLED-SLOW-PATH
> mov -0x8(%rObj), %rObj ; read barrier
>
> ...thus freeing up the register?
I will look into that. Running with an empty slow path could be an
interesting experiment too.
Roland.
More information about the shenandoah-dev
mailing list