mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
8046670: Make CMS metadata aware closures applicable for other collectors
Reviewed-by: ehelin, mgerdin
This commit is contained in:
parent
4241d1c605
commit
fd43773a10
11 changed files with 139 additions and 123 deletions
|
@ -28,6 +28,7 @@
|
|||
#include "gc_implementation/shared/markSweep.inline.hpp"
|
||||
#include "gc_interface/collectedHeap.inline.hpp"
|
||||
#include "memory/genOopClosures.inline.hpp"
|
||||
#include "memory/iterator.inline.hpp"
|
||||
#include "memory/oopFactory.hpp"
|
||||
#include "oops/instanceKlass.hpp"
|
||||
#include "oops/instanceClassLoaderKlass.hpp"
|
||||
|
@ -44,12 +45,6 @@
|
|||
#include "oops/oop.pcgc.inline.hpp"
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
|
||||
#define if_do_metadata_checked(closure, nv_suffix) \
|
||||
/* Make sure the non-virtual and the virtual versions match. */ \
|
||||
assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \
|
||||
"Inconsistency in do_metadata"); \
|
||||
if (closure->do_metadata##nv_suffix())
|
||||
|
||||
// Macro to define InstanceClassLoaderKlass::oop_oop_iterate for virtual/nonvirtual for
|
||||
// all closures. Macros calling macros above for each oop size.
|
||||
// Since ClassLoader objects have only a pointer to the loader_data, they are not
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue