diff src/share/vm/oops/objArrayKlass.hpp @ 113:ba764ed4b6f2

6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author coleenp
date Sun, 13 Apr 2008 17:43:42 -0400
parents a61af66fc99e
children d1605aabd0a1 37f87013dfd8
line wrap: on
line diff
--- a/src/share/vm/oops/objArrayKlass.hpp	Fri Apr 11 09:56:35 2008 -0400
+++ b/src/share/vm/oops/objArrayKlass.hpp	Sun Apr 13 17:43:42 2008 -0400
@@ -63,6 +63,11 @@
   // Compute class loader
   oop class_loader() const { return Klass::cast(bottom_klass())->class_loader(); }
 
+ private:
+  // Either oop or narrowOop depending on UseCompressedOops.
+  // must be called from within objArrayKlass.cpp
+  template <class T> void do_copy(arrayOop s, T* src, arrayOop d,
+                                  T* dst, int length, TRAPS);
  protected:
   // Returns the objArrayKlass for n'th dimension.
   virtual klassOop array_klass_impl(bool or_null, int n, TRAPS);
@@ -101,7 +106,9 @@
 #define ObjArrayKlass_OOP_OOP_ITERATE_DECL(OopClosureType, nv_suffix)   \
   int oop_oop_iterate##nv_suffix(oop obj, OopClosureType* blk);         \
   int oop_oop_iterate##nv_suffix##_m(oop obj, OopClosureType* blk,      \
-                                     MemRegion mr);
+                                     MemRegion mr);                     \
+  int oop_oop_iterate_range##nv_suffix(oop obj, OopClosureType* blk,    \
+                                     int start, int end);
 
   ALL_OOP_OOP_ITERATE_CLOSURES_1(ObjArrayKlass_OOP_OOP_ITERATE_DECL)
   ALL_OOP_OOP_ITERATE_CLOSURES_3(ObjArrayKlass_OOP_OOP_ITERATE_DECL)
@@ -124,5 +131,6 @@
   const char* internal_name() const;
   void oop_verify_on(oop obj, outputStream* st);
   void oop_verify_old_oop(oop obj, oop* p, bool allow_dirty);
+  void oop_verify_old_oop(oop obj, narrowOop* p, bool allow_dirty);
 
 };