Mercurial > hg > truffle
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 \ |