RFR: 8202641: Replace OOP_SINCE_SAVE_MARKS with templates

Stefan Johansson stefan.johansson at oracle.com
Mon May 7 09:26:12 UTC 2018

Hi Stefan,

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/
Yet another great cleanup, so nice to see those macros go away :)

The change looks good, ship it.

> 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