hotspot/src/share/vm/oops/instanceMirrorKlass.cpp
changeset 25356 4a4a482298a6
parent 23872 536c66fc43d3
child 26316 93f6b40c038b
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/instanceMirrorKlass.hpp"
    34 #include "oops/instanceMirrorKlass.hpp"
    34 #include "oops/instanceOop.hpp"
    35 #include "oops/instanceOop.hpp"
    35 #include "oops/oop.inline.hpp"
    36 #include "oops/oop.inline.hpp"
   239       (closure)->do_oop##nv_suffix(p),                                                \
   240       (closure)->do_oop##nv_suffix(p),                                                \
   240     assert_is_in_closed_subset)                                                       \
   241     assert_is_in_closed_subset)                                                       \
   241   return oop_size(obj);                                                               \
   242   return oop_size(obj);                                                               \
   242 
   243 
   243 
   244 
   244 #define if_do_metadata_checked(closure, nv_suffix)                    \
       
   245   /* Make sure the non-virtual and the virtual versions match. */     \
       
   246   assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \
       
   247       "Inconsistency in do_metadata");                                \
       
   248   if (closure->do_metadata##nv_suffix())
       
   249 
       
   250 // Macro to define InstanceMirrorKlass::oop_oop_iterate for virtual/nonvirtual for
   245 // Macro to define InstanceMirrorKlass::oop_oop_iterate for virtual/nonvirtual for
   251 // all closures.  Macros calling macros above for each oop size.
   246 // all closures.  Macros calling macros above for each oop size.
   252 
   247 
   253 #define InstanceMirrorKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix)           \
   248 #define InstanceMirrorKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix)           \
   254                                                                                       \
   249                                                                                       \