89 instanceOop allocate_instance(KlassHandle k, TRAPS); |
89 instanceOop allocate_instance(KlassHandle k, TRAPS); |
90 |
90 |
91 // GC specific object visitors |
91 // GC specific object visitors |
92 // |
92 // |
93 // Mark Sweep |
93 // Mark Sweep |
94 void oop_ms_follow_contents(oop obj); |
|
95 int oop_ms_adjust_pointers(oop obj); |
94 int oop_ms_adjust_pointers(oop obj); |
96 #if INCLUDE_ALL_GCS |
95 #if INCLUDE_ALL_GCS |
97 // Parallel Scavenge |
96 // Parallel Scavenge |
98 void oop_ps_push_contents( oop obj, PSPromotionManager* pm); |
97 void oop_ps_push_contents( oop obj, PSPromotionManager* pm); |
99 // Parallel Compact |
98 // Parallel Compact |
119 inline void oop_oop_iterate_statics_specialized(oop obj, OopClosureType* closure); |
118 inline void oop_oop_iterate_statics_specialized(oop obj, OopClosureType* closure); |
120 |
119 |
121 // Forward iteration |
120 // Forward iteration |
122 // Iterate over the oop fields and metadata. |
121 // Iterate over the oop fields and metadata. |
123 template <bool nv, class OopClosureType> |
122 template <bool nv, class OopClosureType> |
124 inline int oop_oop_iterate(oop obj, OopClosureType* closure); |
123 inline void oop_oop_iterate(oop obj, OopClosureType* closure); |
125 |
124 |
126 |
125 |
127 // Reverse iteration |
126 // Reverse iteration |
128 #if INCLUDE_ALL_GCS |
127 #if INCLUDE_ALL_GCS |
129 // Iterate over the oop fields and metadata. |
128 // Iterate over the oop fields and metadata. |
130 template <bool nv, class OopClosureType> |
129 template <bool nv, class OopClosureType> |
131 inline int oop_oop_iterate_reverse(oop obj, OopClosureType* closure); |
130 inline void oop_oop_iterate_reverse(oop obj, OopClosureType* closure); |
132 #endif |
131 #endif |
133 |
132 |
134 |
133 |
135 // Bounded range iteration |
134 // Bounded range iteration |
136 // Iterate over the oop fields and metadata. |
135 // Iterate over the oop fields and metadata. |
137 template <bool nv, class OopClosureType> |
136 template <bool nv, class OopClosureType> |
138 inline int oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr); |
137 inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr); |
139 |
138 |
140 // Iterate over the static fields. |
139 // Iterate over the static fields. |
141 template <bool nv, class OopClosureType> |
140 template <bool nv, class OopClosureType> |
142 inline void oop_oop_iterate_statics_bounded(oop obj, OopClosureType* closure, MemRegion mr); |
141 inline void oop_oop_iterate_statics_bounded(oop obj, OopClosureType* closure, MemRegion mr); |
143 |
142 |