RFR: 8202641: Replace OOP_SINCE_SAVE_MARKS with templates

Stefan Karlsson stefan.karlsson at oracle.com
Fri May 4 13:18:57 UTC 2018


Hi Erik,

On 2018-05-04 15:18, Erik Österlund wrote:
> Hi Stefan,
> 
> Templates... oh yes.
> 
> gc/cms/promotionInfo.inline.hpp is seemingly missing some includes. It 
> looks like it needs macros.hpp, oop.inline.hpp and debug.hpp.

I'll add them.

> 
> Apart from that, this looks good, and I don't need another webrev.

Thanks!

StefanK

> 
> Thanks,
> /Erik
> 
> On 2018-05-04 12:06, Stefan Karlsson wrote:
>> Hi all,
>>
>> Please review this patch to replace the OOPS_SINCE_SAVE_MARKS macros 
>> with templates.
>>
>> http://cr.openjdk.java.net/~stefank/8202641/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8202641
>>
>> The OOP_SINCE_SAVE_MARKS related macros are used to devirtualize 
>> OopClosure calls. The way these works require us to stamp out all 
>> relevant overloads of OopClosures in the Generation and 
>> GenCollectedHeap classes. This makes it hard to separate Serial from 
>> CMS. One example is defNewGeneration.hpp, which includes 
>> cms/parOopClosure.hpp, just to make sure that CMS specific overloads 
>> are generated for DefNewGeneration, even those that are never used.
>>
>> By replacing these macros with templates we can get rid of this false 
>> dependency between DefNewGeneration and CMS.
>>
>> This patch builds upon the patch in:
>> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-May/021966.html 
>>
>>
>> Thanks,
>> StefanK
> 



More information about the hotspot-gc-dev mailing list