< prev index next >

src/share/vm/oops/objArrayKlass.cpp

Print this page
rev 7183 : autospecialized oop_iterate using SFINAE and templates

@@ -475,10 +475,23 @@
     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 >