deferred updates? (was Re: value of dense prefix address used?)

Jon Masamitsu jon.masamitsu at oracle.com
Fri Mar 2 10:31:11 PST 2012



On 3/1/2012 6:06 PM, John Coomes wrote:
> ...
>> On a related note (see changed the subject line), addressed mainly to John
>> Coomes (i think, and may be Jon Masa?),
>> why do we not update the pointers inside partial objects at the end of a
>> destination compaction region at the time
>> that we copy the object, rather than deferring that work for later? Can
>> something be done about this?
> I honestly don't recall why.  It may be as simple as that it will help
> a little bit, but likely not too much, because the tail of the object
> that extends onto subsequent regions still has to be deferred.
> Certainly something can be done, but see below.

It was implemented with the deferred update because that was safe and 
simple.  I battled with
updating objects split over regions and until I ran out of time.  I 
believe the policy is "if this
object extends into a region to the left, defer the update".   With a 
little more work the policy
could be "if the klass word is in a region to the left, defer the update".


More information about the hotspot-gc-use mailing list