< prev index next >
src/share/vm/oops/instanceKlass.hpp
Print this page
rev 7183 : autospecialized oop_iterate using SFINAE and templates
*** 951,960 ****
--- 951,975 ----
PARALLEL_GC_DECLS
// Naming
const char* signature_name() const;
+ protected:
+ template <class T> static void assert_is_in(T *p);
+ template <class T> static void assert_is_in_closed_subset(T *p);
+ template <class T> static void assert_is_in_reserved(T *p);
+ template <class T> static void assert_nothing(T *p);
+
+ template<class OopType, class OopClosureType>
+ void oop_iterate_and_dispatch_helper(oop obj, OopClosureType *closure, OopType *start, int count);
+
+ public:
+ template <class OopClosureType>
+ int oop_iterate_and_dispatch(oop obj, OopClosureType *closure);
+
+ int get_linear_oop_intervals(oop obj, OopInterval* &start, int &size);
+
// Iterators
int oop_oop_iterate(oop obj, ExtendedOopClosure* blk) {
return oop_oop_iterate_v(obj, blk);
}
< prev index next >