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