272 post_allocation_setup_array(klass, obj, size, length); |
272 post_allocation_setup_array(klass, obj, size, length); |
273 NOT_PRODUCT(Universe::heap()->check_for_bad_heap_word_value(obj, size)); |
273 NOT_PRODUCT(Universe::heap()->check_for_bad_heap_word_value(obj, size)); |
274 return (oop)obj; |
274 return (oop)obj; |
275 } |
275 } |
276 |
276 |
|
277 oop CollectedHeap::array_allocate_nozero(KlassHandle klass, |
|
278 int size, |
|
279 int length, |
|
280 TRAPS) { |
|
281 debug_only(check_for_valid_allocation_state()); |
|
282 assert(!Universe::heap()->is_gc_active(), "Allocation during gc not allowed"); |
|
283 assert(size >= 0, "int won't convert to size_t"); |
|
284 HeapWord* obj = common_mem_allocate_noinit(size, CHECK_NULL); |
|
285 ((oop)obj)->set_klass_gap(0); |
|
286 post_allocation_setup_array(klass, obj, size, length); |
|
287 #ifndef PRODUCT |
|
288 const size_t hs = oopDesc::header_size()+1; |
|
289 Universe::heap()->check_for_non_bad_heap_word_value(obj+hs, size-hs); |
|
290 #endif |
|
291 return (oop)obj; |
|
292 } |
|
293 |
277 oop CollectedHeap::permanent_obj_allocate(KlassHandle klass, int size, TRAPS) { |
294 oop CollectedHeap::permanent_obj_allocate(KlassHandle klass, int size, TRAPS) { |
278 oop obj = permanent_obj_allocate_no_klass_install(klass, size, CHECK_NULL); |
295 oop obj = permanent_obj_allocate_no_klass_install(klass, size, CHECK_NULL); |
279 post_allocation_install_obj_klass(klass, obj, size); |
296 post_allocation_install_obj_klass(klass, obj, size); |
280 NOT_PRODUCT(Universe::heap()->check_for_bad_heap_word_value((HeapWord*) obj, |
297 NOT_PRODUCT(Universe::heap()->check_for_bad_heap_word_value((HeapWord*) obj, |
281 size)); |
298 size)); |