comparison src/share/vm/oops/objArrayKlass.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
27 #include "classfile/systemDictionary.hpp" 27 #include "classfile/systemDictionary.hpp"
28 #include "classfile/vmSymbols.hpp" 28 #include "classfile/vmSymbols.hpp"
29 #include "gc_implementation/shared/markSweep.inline.hpp" 29 #include "gc_implementation/shared/markSweep.inline.hpp"
30 #include "gc_interface/collectedHeap.inline.hpp" 30 #include "gc_interface/collectedHeap.inline.hpp"
31 #include "memory/genOopClosures.inline.hpp" 31 #include "memory/genOopClosures.inline.hpp"
32 #include "memory/iterator.inline.hpp"
32 #include "memory/metadataFactory.hpp" 33 #include "memory/metadataFactory.hpp"
33 #include "memory/resourceArea.hpp" 34 #include "memory/resourceArea.hpp"
34 #include "memory/universe.inline.hpp" 35 #include "memory/universe.inline.hpp"
35 #include "oops/instanceKlass.hpp" 36 #include "oops/instanceKlass.hpp"
36 #include "oops/klass.inline.hpp" 37 #include "oops/klass.inline.hpp"
40 #include "oops/oop.inline.hpp" 41 #include "oops/oop.inline.hpp"
41 #include "oops/oop.inline2.hpp" 42 #include "oops/oop.inline2.hpp"
42 #include "oops/symbol.hpp" 43 #include "oops/symbol.hpp"
43 #include "runtime/handles.inline.hpp" 44 #include "runtime/handles.inline.hpp"
44 #include "runtime/mutexLocker.hpp" 45 #include "runtime/mutexLocker.hpp"
46 #include "runtime/orderAccess.inline.hpp"
45 #include "utilities/copy.hpp" 47 #include "utilities/copy.hpp"
46 #include "utilities/macros.hpp" 48 #include "utilities/macros.hpp"
47 #if INCLUDE_ALL_GCS 49 #if INCLUDE_ALL_GCS
48 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp" 50 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp"
49 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 51 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
50 #include "gc_implementation/g1/g1OopClosures.inline.hpp" 52 #include "gc_implementation/g1/g1OopClosures.inline.hpp"
51 #include "gc_implementation/g1/g1RemSet.inline.hpp" 53 #include "gc_implementation/g1/g1RemSet.inline.hpp"
52 #include "gc_implementation/g1/heapRegionSeq.inline.hpp" 54 #include "gc_implementation/g1/heapRegionManager.inline.hpp"
53 #include "gc_implementation/parNew/parOopClosures.inline.hpp" 55 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
54 #include "gc_implementation/parallelScavenge/psCompactionManager.hpp" 56 #include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
55 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp" 57 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
56 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp" 58 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
57 #include "oops/oop.pcgc.inline.hpp" 59 #include "oops/oop.pcgc.inline.hpp"
473 objarray_follow_contents<oop>(cm, obj, 0); 475 objarray_follow_contents<oop>(cm, obj, 0);
474 } 476 }
475 } 477 }
476 #endif // INCLUDE_ALL_GCS 478 #endif // INCLUDE_ALL_GCS
477 479
478 #define if_do_metadata_checked(closure, nv_suffix) \
479 /* Make sure the non-virtual and the virtual versions match. */ \
480 assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \
481 "Inconsistency in do_metadata"); \
482 if (closure->do_metadata##nv_suffix())
483
484 #define ObjArrayKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ 480 #define ObjArrayKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
485 \ 481 \
486 int ObjArrayKlass::oop_oop_iterate##nv_suffix(oop obj, \ 482 int ObjArrayKlass::oop_oop_iterate##nv_suffix(oop obj, \
487 OopClosureType* closure) { \ 483 OopClosureType* closure) { \
488 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \ 484 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \