RFR: Fix full-gc matrix updates
rkennke at redhat.com
Fri Mar 17 21:10:28 UTC 2017
Am 17.03.2017 um 22:02 schrieb Roman Kennke:
> 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().
Two little changes:
- Use size_t instead of int, in case we need to address large memory.
- Don't cast HeapWord* to oop, just to cast it back to HeapWord*. ;-)
More information about the shenandoah-dev