comparison src/share/vm/memory/universe.hpp @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents f95d63e2154a
children 1d1603768966
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
137 static klassOop _doubleArrayKlassObj; 137 static klassOop _doubleArrayKlassObj;
138 static klassOop _typeArrayKlassObjs[T_VOID+1]; 138 static klassOop _typeArrayKlassObjs[T_VOID+1];
139 139
140 static klassOop _objectArrayKlassObj; 140 static klassOop _objectArrayKlassObj;
141 141
142 static klassOop _symbolKlassObj;
143 static klassOop _methodKlassObj; 142 static klassOop _methodKlassObj;
144 static klassOop _constMethodKlassObj; 143 static klassOop _constMethodKlassObj;
145 static klassOop _methodDataKlassObj; 144 static klassOop _methodDataKlassObj;
146 static klassOop _klassKlassObj; 145 static klassOop _klassKlassObj;
147 static klassOop _arrayKlassKlassObj; 146 static klassOop _arrayKlassKlassObj;
196 static oop _virtual_machine_error_instance; // preallocated exception object 195 static oop _virtual_machine_error_instance; // preallocated exception object
197 // The object used as an exception dummy when exceptions are thrown for 196 // The object used as an exception dummy when exceptions are thrown for
198 // the vm thread. 197 // the vm thread.
199 static oop _vm_exception; 198 static oop _vm_exception;
200 199
201 static oop _emptySymbol; // Canonical empty string ("") symbol
202
203 // The particular choice of collected heap. 200 // The particular choice of collected heap.
204 static CollectedHeap* _collectedHeap; 201 static CollectedHeap* _collectedHeap;
205 202
206 // For UseCompressedOops. 203 // For UseCompressedOops.
207 static struct NarrowOopStruct _narrow_oop; 204 static struct NarrowOopStruct _narrow_oop;
271 assert((uint)t < T_VOID+1, "range check"); 268 assert((uint)t < T_VOID+1, "range check");
272 assert(_typeArrayKlassObjs[t] != NULL, "domain check"); 269 assert(_typeArrayKlassObjs[t] != NULL, "domain check");
273 return _typeArrayKlassObjs[t]; 270 return _typeArrayKlassObjs[t];
274 } 271 }
275 272
276 static klassOop symbolKlassObj() { return _symbolKlassObj; }
277 static klassOop methodKlassObj() { return _methodKlassObj; } 273 static klassOop methodKlassObj() { return _methodKlassObj; }
278 static klassOop constMethodKlassObj() { return _constMethodKlassObj; } 274 static klassOop constMethodKlassObj() { return _constMethodKlassObj; }
279 static klassOop methodDataKlassObj() { return _methodDataKlassObj; } 275 static klassOop methodDataKlassObj() { return _methodDataKlassObj; }
280 static klassOop klassKlassObj() { return _klassKlassObj; } 276 static klassOop klassKlassObj() { return _klassKlassObj; }
281 static klassOop arrayKlassKlassObj() { return _arrayKlassKlassObj; } 277 static klassOop arrayKlassKlassObj() { return _arrayKlassKlassObj; }
285 static klassOop constantPoolKlassObj() { return _constantPoolKlassObj; } 281 static klassOop constantPoolKlassObj() { return _constantPoolKlassObj; }
286 static klassOop constantPoolCacheKlassObj() { return _constantPoolCacheKlassObj; } 282 static klassOop constantPoolCacheKlassObj() { return _constantPoolCacheKlassObj; }
287 static klassOop compiledICHolderKlassObj() { return _compiledICHolderKlassObj; } 283 static klassOop compiledICHolderKlassObj() { return _compiledICHolderKlassObj; }
288 static klassOop systemObjArrayKlassObj() { return _systemObjArrayKlassObj; } 284 static klassOop systemObjArrayKlassObj() { return _systemObjArrayKlassObj; }
289 285
290 // Known objects in tbe VM 286 // Known objects in the VM
291 static oop int_mirror() { return check_mirror(_int_mirror); 287 static oop int_mirror() { return check_mirror(_int_mirror); }
292 }
293 static oop float_mirror() { return check_mirror(_float_mirror); } 288 static oop float_mirror() { return check_mirror(_float_mirror); }
294 static oop double_mirror() { return check_mirror(_double_mirror); } 289 static oop double_mirror() { return check_mirror(_double_mirror); }
295 static oop byte_mirror() { return check_mirror(_byte_mirror); } 290 static oop byte_mirror() { return check_mirror(_byte_mirror); }
296 static oop bool_mirror() { return check_mirror(_bool_mirror); } 291 static oop bool_mirror() { return check_mirror(_bool_mirror); }
297 static oop char_mirror() { return check_mirror(_char_mirror); } 292 static oop char_mirror() { return check_mirror(_char_mirror); }
325 static ActiveMethodOopsCache* reflect_invoke_cache() { return _reflect_invoke_cache; } 320 static ActiveMethodOopsCache* reflect_invoke_cache() { return _reflect_invoke_cache; }
326 static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; } 321 static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; }
327 static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; } 322 static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; }
328 static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; } 323 static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; }
329 static oop vm_exception() { return _vm_exception; } 324 static oop vm_exception() { return _vm_exception; }
330 static oop emptySymbol() { return _emptySymbol; }
331 325
332 // OutOfMemoryError support. Returns an error with the required message. The returned error 326 // OutOfMemoryError support. Returns an error with the required message. The returned error
333 // may or may not have a backtrace. If error has a backtrace then the stack trace is already 327 // may or may not have a backtrace. If error has a backtrace then the stack trace is already
334 // filled in. 328 // filled in.
335 static oop out_of_memory_error_java_heap() { return gen_out_of_memory_error(_out_of_memory_error_java_heap); } 329 static oop out_of_memory_error_java_heap() { return gen_out_of_memory_error(_out_of_memory_error_java_heap); }