Mercurial > hg > graal-compiler
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); };