< prev index next >
src/share/vm/oops/objArrayKlass.cpp
Print this page
rev 7183 : autospecialized oop_iterate using SFINAE and templates
*** 475,484 ****
--- 475,497 ----
objarray_follow_contents<oop>(cm, obj, 0);
}
}
#endif // INCLUDE_ALL_GCS
+ int ObjArrayKlass::get_linear_oop_intervals(oop obj, OopInterval* &start, int &size)
+ {
+ assert(obj->is_array(), "obj must be array");
+ objArrayOop a = objArrayOop(obj);
+
+ start->_offset = arrayOopDesc::base_offset_in_bytes(T_OBJECT); //base_offset_in_bytes();
+ start->_size = a->length();
+
+ size = a->object_size();
+
+ return 1;
+ }
+
#define ObjArrayKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \
\
int ObjArrayKlass::oop_oop_iterate##nv_suffix(oop obj, \
OopClosureType* closure) { \
SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \
< prev index next >