diff src/share/vm/oops/cpCacheOop.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
line wrap: on
line diff
--- a/src/share/vm/oops/cpCacheOop.hpp	Fri Apr 11 09:56:35 2008 -0400
+++ b/src/share/vm/oops/cpCacheOop.hpp	Sun Apr 13 17:43:42 2008 -0400
@@ -286,12 +286,17 @@
 // is created and initialized before a class is actively used (i.e., initialized), the indivi-
 // dual cache entries are filled at resolution (i.e., "link") time (see also: rewriter.*).
 
-class constantPoolCacheOopDesc: public arrayOopDesc {
+class constantPoolCacheOopDesc: public oopDesc {
   friend class VMStructs;
  private:
+  int             _length;
   constantPoolOop _constant_pool;                // the corresponding constant pool
 
   // Sizing
+  debug_only(friend class ClassVerifier;)
+  int length() const                             { return _length; }
+  void set_length(int length)                    { _length = length; }
+
   static int header_size()                       { return sizeof(constantPoolCacheOopDesc) / HeapWordSize; }
   static int object_size(int length)             { return align_object_size(header_size() + length * in_words(ConstantPoolCacheEntry::size())); }
   int object_size()                              { return object_size(length()); }