29 #include "gc_interface/collectedHeap.inline.hpp"
30 #include "memory/genOopClosures.inline.hpp"
31 #include "memory/iterator.inline.hpp"
32 #include "memory/oopFactory.hpp"
33 #include "oops/instanceKlass.hpp"
34 #include "oops/instanceMirrorKlass.hpp"
35 #include "oops/instanceOop.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "oops/symbol.hpp"
38 #include "runtime/handles.inline.hpp"
39 #include "utilities/macros.hpp"
40 #if INCLUDE_ALL_GCS
41 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp"
42 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
43 #include "gc_implementation/g1/g1OopClosures.inline.hpp"
44 #include "gc_implementation/g1/g1RemSet.inline.hpp"
45 #include "gc_implementation/g1/heapRegionManager.inline.hpp"
46 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
47 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
48 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
49 #include "oops/oop.pcgc.inline.hpp"
50 #endif // INCLUDE_ALL_GCS
51
52 int InstanceMirrorKlass::_offset_of_static_fields = 0;
53
54 #ifdef ASSERT
55 template <class T> void assert_is_in(T *p) {
56 T heap_oop = oopDesc::load_heap_oop(p);
57 if (!oopDesc::is_null(heap_oop)) {
58 oop o = oopDesc::decode_heap_oop_not_null(heap_oop);
59 assert(Universe::heap()->is_in(o), "should be in heap");
60 }
61 }
62 template <class T> void assert_is_in_closed_subset(T *p) {
63 T heap_oop = oopDesc::load_heap_oop(p);
64 if (!oopDesc::is_null(heap_oop)) {
65 oop o = oopDesc::decode_heap_oop_not_null(heap_oop);
66 assert(Universe::heap()->is_in_closed_subset(o), "should be in closed");
67 }
68 }
|
29 #include "gc_interface/collectedHeap.inline.hpp"
30 #include "memory/genOopClosures.inline.hpp"
31 #include "memory/iterator.inline.hpp"
32 #include "memory/oopFactory.hpp"
33 #include "oops/instanceKlass.hpp"
34 #include "oops/instanceMirrorKlass.hpp"
35 #include "oops/instanceOop.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "oops/symbol.hpp"
38 #include "runtime/handles.inline.hpp"
39 #include "utilities/macros.hpp"
40 #if INCLUDE_ALL_GCS
41 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp"
42 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
43 #include "gc_implementation/g1/g1OopClosures.inline.hpp"
44 #include "gc_implementation/g1/g1RemSet.inline.hpp"
45 #include "gc_implementation/g1/heapRegionManager.inline.hpp"
46 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
47 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
48 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
49 #include "gc_implementation/shenandoah/shenandoahOopClosures.inline.hpp"
50 #include "oops/oop.pcgc.inline.hpp"
51 #endif // INCLUDE_ALL_GCS
52
53 int InstanceMirrorKlass::_offset_of_static_fields = 0;
54
55 #ifdef ASSERT
56 template <class T> void assert_is_in(T *p) {
57 T heap_oop = oopDesc::load_heap_oop(p);
58 if (!oopDesc::is_null(heap_oop)) {
59 oop o = oopDesc::decode_heap_oop_not_null(heap_oop);
60 assert(Universe::heap()->is_in(o), "should be in heap");
61 }
62 }
63 template <class T> void assert_is_in_closed_subset(T *p) {
64 T heap_oop = oopDesc::load_heap_oop(p);
65 if (!oopDesc::is_null(heap_oop)) {
66 oop o = oopDesc::decode_heap_oop_not_null(heap_oop);
67 assert(Universe::heap()->is_in_closed_subset(o), "should be in closed");
68 }
69 }
|