RFR (XS): Bad shift coalescing in C2 matrix update barrier

Aleksey Shipilev shade at redhat.com
Wed Mar 15 13:56:20 UTC 2017


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:

I will figure out separately if shift coalescing + mask is still beneficial.

Testing: failing tests with matrix verification


More information about the shenandoah-dev mailing list