Mercurial > hg > truffle
comparison src/share/vm/oops/instanceKlass.cpp @ 876:1413494da700
6850957: Honor -XX:OnOutOfMemoryError when array size exceeds VM limit
Summary: call report_java_out_of_memory("Requested array size exceeds VM limit")
Reviewed-by: tbell, dholmes, alanb, ysr
Contributed-by: jeremymanson@google.com
author | martin |
---|---|
date | Mon, 29 Jun 2009 14:42:12 -0700 |
parents | 6a93908f268f |
children | b37c246bf7ce 75e30968ebe1 148e5441d916 |
comparison
equal
deleted
inserted
replaced
875:6a93908f268f | 876:1413494da700 |
---|---|
506 } | 506 } |
507 | 507 |
508 objArrayOop instanceKlass::allocate_objArray(int n, int length, TRAPS) { | 508 objArrayOop instanceKlass::allocate_objArray(int n, int length, TRAPS) { |
509 if (length < 0) THROW_0(vmSymbols::java_lang_NegativeArraySizeException()); | 509 if (length < 0) THROW_0(vmSymbols::java_lang_NegativeArraySizeException()); |
510 if (length > arrayOopDesc::max_array_length(T_OBJECT)) { | 510 if (length > arrayOopDesc::max_array_length(T_OBJECT)) { |
511 report_java_out_of_memory("Requested array size exceeds VM limit"); | |
511 THROW_OOP_0(Universe::out_of_memory_error_array_size()); | 512 THROW_OOP_0(Universe::out_of_memory_error_array_size()); |
512 } | 513 } |
513 int size = objArrayOopDesc::object_size(length); | 514 int size = objArrayOopDesc::object_size(length); |
514 klassOop ak = array_klass(n, CHECK_NULL); | 515 klassOop ak = array_klass(n, CHECK_NULL); |
515 KlassHandle h_ak (THREAD, ak); | 516 KlassHandle h_ak (THREAD, ak); |