comparison src/share/vm/oops/instanceMirrorKlass.cpp @ 20804:7848fc12602b

Merge with jdk8u40-b25
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 07 Apr 2015 14:58:49 +0200
parents 52b4284cb496 a8ea2f110d87
children
comparison
equal deleted inserted replaced
20184:84105dcdb05b 20804:7848fc12602b
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"
39 #if INCLUDE_ALL_GCS 40 #if INCLUDE_ALL_GCS
40 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp" 41 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp"
41 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 42 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
42 #include "gc_implementation/g1/g1OopClosures.inline.hpp" 43 #include "gc_implementation/g1/g1OopClosures.inline.hpp"
43 #include "gc_implementation/g1/g1RemSet.inline.hpp" 44 #include "gc_implementation/g1/g1RemSet.inline.hpp"
44 #include "gc_implementation/g1/heapRegionSeq.inline.hpp" 45 #include "gc_implementation/g1/heapRegionManager.inline.hpp"
45 #include "gc_implementation/parNew/parOopClosures.inline.hpp" 46 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
46 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" 47 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
47 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" 48 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
48 #include "oops/oop.pcgc.inline.hpp" 49 #include "oops/oop.pcgc.inline.hpp"
49 #endif // INCLUDE_ALL_GCS 50 #endif // INCLUDE_ALL_GCS
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 \