RFR: 8202639: Use concrete Generation classes in SerialHeap and CMSHeap

Stefan Karlsson stefan.karlsson at oracle.com
Fri May 4 10:20:37 UTC 2018


Hi Erik,

On 2018-05-04 12:18, Erik Österlund wrote:
> Hi Stefan,
> 
> Nice!!
> 
> Just a small nit... when downcasting the heaps and generations, could 
> you please use static_cast instead of C-style cast, and have an assert 
> that checks that the kind is indeed the expected one?

Sure.

http://cr.openjdk.java.net/~stefank/8202639/webrev.02/
http://cr.openjdk.java.net/~stefank/8202639/webrev.02.delta/

> 
> Otherwise, this looks very nice indeed.

Thanks for reviewing!

StefanK

> 
> Thanks,
> /Erik
> 
> On 2018-05-04 11:56, Stefan Karlsson wrote:
>> Hi all,
>>
>> Please review this patch to add and use young_gen() and old_gen() 
>> functions that add returns the concrete Generation classes.
>>
>> http://cr.openjdk.java.net/~stefank/8202639/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8202639
>>
>> GenCollectedHeap contains fields for the _young_gen and _old_gen, with 
>> associated young_gen() and old_gen() accessors. These accessors return 
>> Generation*s.
>>
>> These Generations are always DefNewGeneration and TenuredGeneration 
>> for the Serial GC, and ParNewGeneration and 
>> ConcurrentMarkSweepGeneration for CMS.
>>
>> I propose that we expose two new accessors that return the concrete 
>> Generation classes in SerialHeap and CMSHeap.
>>
>> Working with these concrete classes will allow us to easier split the 
>> Serial and CMS code. Specifically, this makes it possible to remove 
>> ALL_SINCE_SAVE_MARKS_CLOSURES and associated macros. See:
>> https://bugs.openjdk.java.net/browse/JDK-8202641
>>
>> Thanks,
>> StefanK
> 



More information about the hotspot-gc-dev mailing list