RFR: 8047821: G1 Does not use the save_marks functionality as intended
Stefan Karlsson
stefan.karlsson at oracle.com
Tue Jun 24 11:06:46 UTC 2014
On 2014-06-24 12:25, Stefan Karlsson wrote:
>
> On 2014-06-23 16:26, Mikael Gerdin wrote:
>> Hi!
>>
>> As part of a larger effort to detach G1's HeapRegion from
>> ContiguousSpace[1]
>> and as a general cleanup we should rename the save_marks and
>> set_saved_marks
>> methods on HeapRegion. They are not used with
>> oops_since_saved_marks_iterate
>> and cause more confusion than anything.
>>
>> This change is part of a set of 4 changes: 8047818, 8047819, 8047820,
>> 8047821
>> which are needed to refactor the HeapRegion class and its superclasses
>> in order to simplify the G1 class unloading change which is coming.
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8047821
>> Webrev:
>> http://cr.openjdk.java.net/~mgerdin/8047821/webrev/
>
> Looks good, but it would be nice if you could remove these as well:
>
> http://cr.openjdk.java.net/~mgerdin/8047821/webrev/src/share/vm/gc_implementation/g1/heapRegion.hpp.frames.html
>
This should also be removed:
572 // Allows logical separation between objects allocated before and after.
573 void save_marks();
StefanK
>
> 583 // Apply "cl->do_oop" to (the addresses of) all reference
> fields in objects
> 584 // allocated in the current region before the last call to
> "save_mark".
> 585 void oop_before_save_marks_iterate(ExtendedOopClosure* cl);
>
> and
>
> 205 // Requires that the region "mr" be dense with objects, and
> begin and end
> 206 // with an object.
> 207 void oops_in_mr_iterate(MemRegion mr, ExtendedOopClosure* cl);
>
> and
>
> 396 void HeapRegion::oops_in_mr_iterate(MemRegion mr,
> ExtendedOopClosure* cl) {
> 397 HeapWord* p = mr.start();
> 398 HeapWord* e = mr.end();
> 399 oop obj;
> 400 while (p < e) {
> 401 obj = oop(p);
> 402 p += obj->oop_iterate(cl);
> 403 }
> 404 assert(p == e, "bad memregion: doesn't end on obj boundary");
> 405 }
>
>
> thanks,
> StefanK
>
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8047818
>>
>> Thanks
>> /Mikael
>
More information about the hotspot-gc-dev
mailing list