< 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 >