RFR: Fix full-gc matrix updates

Roman Kennke 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().

http://cr.openjdk.java.net/~rkennke/partial-fixfullgc/webrev.00/
<http://cr.openjdk.java.net/%7Erkennke/partial-fixfullgc/webrev.00/>

Ok?

Roman




More information about the shenandoah-dev mailing list