Mercurial > hg > truffle
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()); }