comparison src/share/vm/oops/oopsHierarchy.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
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
24 24
25 // OBJECT hierarchy 25 // OBJECT hierarchy
26 // This hierarchy is a representation hierarchy, i.e. if A is a superclass 26 // This hierarchy is a representation hierarchy, i.e. if A is a superclass
27 // of B, A's representation is a prefix of B's representation. 27 // of B, A's representation is a prefix of B's representation.
28 28
29 typedef juint narrowOop; // Offset instead of address for an oop within a java object
30 typedef class klassOopDesc* wideKlassOop; // to keep SA happy and unhandled oop
31 // detector happy.
32
29 #ifndef CHECK_UNHANDLED_OOPS 33 #ifndef CHECK_UNHANDLED_OOPS
30 34
31 typedef class oopDesc* oop; 35 typedef class oopDesc* oop;
32 typedef class instanceOopDesc* instanceOop; 36 typedef class instanceOopDesc* instanceOop;
33 typedef class methodOopDesc* methodOop; 37 typedef class methodOopDesc* methodOop;
34 typedef class constMethodOopDesc* constMethodOop; 38 typedef class constMethodOopDesc* constMethodOop;
35 typedef class methodDataOopDesc* methodDataOop; 39 typedef class methodDataOopDesc* methodDataOop;
36 typedef class arrayOopDesc* arrayOop; 40 typedef class arrayOopDesc* arrayOop;
37 typedef class constantPoolOopDesc* constantPoolOop; 41 typedef class objArrayOopDesc* objArrayOop;
38 typedef class constantPoolCacheOopDesc* constantPoolCacheOop; 42 typedef class typeArrayOopDesc* typeArrayOop;
39 typedef class objArrayOopDesc* objArrayOop; 43 typedef class constantPoolOopDesc* constantPoolOop;
40 typedef class typeArrayOopDesc* typeArrayOop; 44 typedef class constantPoolCacheOopDesc* constantPoolCacheOop;
41 typedef class symbolOopDesc* symbolOop; 45 typedef class symbolOopDesc* symbolOop;
42 typedef class klassOopDesc* klassOop; 46 typedef class klassOopDesc* klassOop;
43 typedef class markOopDesc* markOop; 47 typedef class markOopDesc* markOop;
44 typedef class compiledICHolderOopDesc* compiledICHolderOop; 48 typedef class compiledICHolderOopDesc* compiledICHolderOop;
45 49
46 #else 50 #else
47 51
48 52
170 class instanceKlassKlass; 174 class instanceKlassKlass;
171 class arrayKlassKlass; 175 class arrayKlassKlass;
172 class objArrayKlassKlass; 176 class objArrayKlassKlass;
173 class typeArrayKlassKlass; 177 class typeArrayKlassKlass;
174 class arrayKlass; 178 class arrayKlass;
175 class constantPoolKlass;
176 class constantPoolCacheKlass;
177 class objArrayKlass; 179 class objArrayKlass;
178 class typeArrayKlass; 180 class typeArrayKlass;
179 class symbolKlass; 181 class constantPoolKlass;
182 class constantPoolCacheKlass;
183 class symbolKlass;
180 class compiledICHolderKlass; 184 class compiledICHolderKlass;