equal
deleted
inserted
replaced
1199 } |
1199 } |
1200 return false; |
1200 return false; |
1201 } |
1201 } |
1202 |
1202 |
1203 objArrayOop InstanceKlass::allocate_objArray(int n, int length, TRAPS) { |
1203 objArrayOop InstanceKlass::allocate_objArray(int n, int length, TRAPS) { |
1204 if (length < 0) { |
1204 check_array_allocation_length(length, arrayOopDesc::max_array_length(T_OBJECT), CHECK_NULL); |
1205 THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length)); |
|
1206 } |
|
1207 if (length > arrayOopDesc::max_array_length(T_OBJECT)) { |
|
1208 report_java_out_of_memory("Requested array size exceeds VM limit"); |
|
1209 JvmtiExport::post_array_size_exhausted(); |
|
1210 THROW_OOP_0(Universe::out_of_memory_error_array_size()); |
|
1211 } |
|
1212 int size = objArrayOopDesc::object_size(length); |
1205 int size = objArrayOopDesc::object_size(length); |
1213 Klass* ak = array_klass(n, CHECK_NULL); |
1206 Klass* ak = array_klass(n, CHECK_NULL); |
1214 objArrayOop o = (objArrayOop)Universe::heap()->array_allocate(ak, size, length, |
1207 objArrayOop o = (objArrayOop)Universe::heap()->array_allocate(ak, size, length, |
1215 /* do_zero */ true, CHECK_NULL); |
1208 /* do_zero */ true, CHECK_NULL); |
1216 return o; |
1209 return o; |