RFR: Fix full-gc matrix updates
rkennke at redhat.com
Fri Mar 17 21:02:05 UTC 2017
When running the adjust-pointers pass in full-gc, we're also updating
the matrix. We're using the current oop* for from-region, and the new
location of the object for to-region. However, the from-object is also
going to move! We need to take this into account.
It's fixed by computing the offset of the from-object and its new
location, and subtracting this from the from-pointer in the closure.
I also snuck in two minor improvements:
- Remove some old redundant code (from last patch)
- use encode_store_heap_oop_not_null() instead of encode_store_heap_oop().
More information about the shenandoah-dev