RFR (XS): Bad shift coalescing in C2 matrix update barrier
Aleksey Shipilev
shade at redhat.com
Wed Mar 15 13:56:20 UTC 2017
Hi,
So I succumbed by Roman's nagging that something is wrong with C2 matrix update
barriers, and by staring into the code discovered an absolutely moronic
optimization I did there!
I assumed:
[(x >> A) << B] is [X >> (A-B)]
...but you also need to mask out the lower B bits in the result!
Let's remove that optimization:
http://cr.openjdk.java.net/~shade/shenandoah/matrix-c2-badshift/webrev.01/
I will figure out separately if shift coalescing + mask is still beneficial.
Testing: failing tests with matrix verification
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list