hotspot/src/share/vm/oops/instanceClassLoaderKlass.cpp
changeset 25356 4a4a482298a6
parent 22234 da823d78ad65
child 29208 b570d043f295
equal deleted inserted replaced
25355:29c97629997e 25356:4a4a482298a6
    26 #include "classfile/javaClasses.hpp"
    26 #include "classfile/javaClasses.hpp"
    27 #include "classfile/systemDictionary.hpp"
    27 #include "classfile/systemDictionary.hpp"
    28 #include "gc_implementation/shared/markSweep.inline.hpp"
    28 #include "gc_implementation/shared/markSweep.inline.hpp"
    29 #include "gc_interface/collectedHeap.inline.hpp"
    29 #include "gc_interface/collectedHeap.inline.hpp"
    30 #include "memory/genOopClosures.inline.hpp"
    30 #include "memory/genOopClosures.inline.hpp"
       
    31 #include "memory/iterator.inline.hpp"
    31 #include "memory/oopFactory.hpp"
    32 #include "memory/oopFactory.hpp"
    32 #include "oops/instanceKlass.hpp"
    33 #include "oops/instanceKlass.hpp"
    33 #include "oops/instanceClassLoaderKlass.hpp"
    34 #include "oops/instanceClassLoaderKlass.hpp"
    34 #include "oops/instanceMirrorKlass.hpp"
    35 #include "oops/instanceMirrorKlass.hpp"
    35 #include "oops/instanceOop.hpp"
    36 #include "oops/instanceOop.hpp"
    41 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
    42 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
    42 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
    43 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
    43 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
    44 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
    44 #include "oops/oop.pcgc.inline.hpp"
    45 #include "oops/oop.pcgc.inline.hpp"
    45 #endif // INCLUDE_ALL_GCS
    46 #endif // INCLUDE_ALL_GCS
    46 
       
    47 #define if_do_metadata_checked(closure, nv_suffix)                    \
       
    48   /* Make sure the non-virtual and the virtual versions match. */     \
       
    49   assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \
       
    50       "Inconsistency in do_metadata");                                \
       
    51   if (closure->do_metadata##nv_suffix())
       
    52 
    47 
    53 // Macro to define InstanceClassLoaderKlass::oop_oop_iterate for virtual/nonvirtual for
    48 // Macro to define InstanceClassLoaderKlass::oop_oop_iterate for virtual/nonvirtual for
    54 // all closures.  Macros calling macros above for each oop size.
    49 // all closures.  Macros calling macros above for each oop size.
    55 // Since ClassLoader objects have only a pointer to the loader_data, they are not
    50 // Since ClassLoader objects have only a pointer to the loader_data, they are not
    56 // compressed nor does the pointer move.
    51 // compressed nor does the pointer move.