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.
By replacing these macros with templates we can get rid of this false dependency between DefNewGeneration and CMS.
- is blocked by
-
JDK-8202639 Use concrete Generation classes in SerialHeap and CMSHeap
-
- Resolved
-