RFR 8203628: Optimize (masked) byte memory comparisons on x86

John Rose john.r.rose at oracle.com
Tue May 22 15:45:18 UTC 2018


On May 22, 2018, at 8:10 AM, Aleksey Shipilev <shade at redhat.com> wrote:
> 
> We have found this during Shenandoah performance work. There, the GC barrier fastpath checks the
> thread-local byte field to see if barriers are enabled. It follows different shapes, e.g.:
> 
>  Set cr (CmpI (LoadB mem) imm))
>  Set cr (CmpI (LoadUB mem) imm))
>  Set cr (CmpI (AndI (LoadUB mem) imm) zero))


Nicely done.  You covered both B and UB evenly.

Just to verify:  There are already similar patterns for int32 and int64, right?

And I have to ask, "what about" int16?  Do we care?  Probably not.

— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180522/0d8a8773/attachment.html>


More information about the hotspot-compiler-dev mailing list