RFR: 8202641: Replace OOP_SINCE_SAVE_MARKS with templates

Stefan Karlsson stefan.karlsson at oracle.com
Fri May 4 10:06:52 UTC 2018

Hi all,

Please review this patch to replace the OOPS_SINCE_SAVE_MARKS macros 
with templates.


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:


More information about the hotspot-gc-dev mailing list