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