127
128 // JVMTI support
129 jint jvmti_class_status() const;
130
131 // CDS support - remove and restore oops from metadata. Oops are not shared.
132 virtual void remove_unshareable_info();
133 virtual void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
134
135 // Printing
136 void print_on(outputStream* st) const;
137 void print_value_on(outputStream* st) const;
138
139 void oop_print_on(oop obj, outputStream* st);
140
141 // Verification
142 void verify_on(outputStream* st);
143
144 void oop_verify_on(oop obj, outputStream* st);
145 };
146
147 #endif // SHARE_VM_OOPS_ARRAYKLASS_HPP
|
127
128 // JVMTI support
129 jint jvmti_class_status() const;
130
131 // CDS support - remove and restore oops from metadata. Oops are not shared.
132 virtual void remove_unshareable_info();
133 virtual void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
134
135 // Printing
136 void print_on(outputStream* st) const;
137 void print_value_on(outputStream* st) const;
138
139 void oop_print_on(oop obj, outputStream* st);
140
141 // Verification
142 void verify_on(outputStream* st);
143
144 void oop_verify_on(oop obj, outputStream* st);
145 };
146
147 // Array oop iteration macros for declarations.
148 #define OOP_OOP_ITERATE_RANGE_DECL(OopClosureType, nv_suffix) \
149 int oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* blk, \
150 int start, int end);
151
152 #if INCLUDE_ALL_GCS
153 // Named NO_BACKWARDS because the definition used by *ArrayKlass isn't reversed, see below.
154 #define OOP_OOP_ITERATE_NO_BACKWARDS_DECL(OopClosureType, nv_suffix) \
155 int oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* blk);
156 #endif // INCLUDE_ALL_GCS
157
158 // Array oop iteration macros for definitions.
159 #define OOP_OOP_ITERATE_RANGE_DEFN(KlassType, OopClosureType, nv_suffix) \
160 \
161 int KlassType::oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* closure, int start, int end) { \
162 return oop_oop_iterate_range<nvs_to_bool(nv_suffix)>(obj, closure, start, end); \
163 }
164
165 #if INCLUDE_ALL_GCS
166 #define OOP_OOP_ITERATE_NO_BACKWARDS_DEFN(KlassType, OopClosureType, nv_suffix) \
167 int KlassType::oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \
168 /* No reverse implementation ATM. */ \
169 return oop_oop_iterate<nvs_to_bool(nv_suffix)>(obj, closure); \
170 }
171 #else
172 #define OOP_OOP_ITERATE_NO_BACKWARDS_DEFN(KlassType, OopClosureType, nv_suffix)
173 #endif
174
175 #endif // SHARE_VM_OOPS_ARRAYKLASS_HPP
|