RFR: Streamline LRB midpath

Roman Kennke rkennke at redhat.com
Wed Mar 6 15:51:30 UTC 2019


We have some issues with generated code quality in the LRB barrier
midpath. Specifically, we made a mess on the return path, and we
generated an explicit null-check where an implicit null-check would do.
See Aleksey's findings and related discussions here:

https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-March/008924.html

Regarding the null-check, it turned out that I mistakenly removed some
code from lcm.cpp (see webrev). This potentially affects other
null-checks too.

With this patch, the return path is clean and returns straight back to
where it came from, and the null-check is implicit now.

http://cr.openjdk.java.net/~rkennke/streamline-lrb-midpath/webrev.00/

I ran it against SPECjvm. I couldn't see a significant
difference/negative impacts.

It also passes all of hotspot_gc_shenandoah tests in fastdebug.

Ok to push?

Roman



More information about the shenandoah-dev mailing list