Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/arrayKlass.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 | a61af66fc99e |
children | 89e0543e1737 |
comparison
equal
deleted
inserted
replaced
875:6a93908f268f | 876:1413494da700 |
---|---|
138 objArrayOop arrayKlass::allocate_arrayArray(int n, int length, TRAPS) { | 138 objArrayOop arrayKlass::allocate_arrayArray(int n, int length, TRAPS) { |
139 if (length < 0) { | 139 if (length < 0) { |
140 THROW_0(vmSymbols::java_lang_NegativeArraySizeException()); | 140 THROW_0(vmSymbols::java_lang_NegativeArraySizeException()); |
141 } | 141 } |
142 if (length > arrayOopDesc::max_array_length(T_ARRAY)) { | 142 if (length > arrayOopDesc::max_array_length(T_ARRAY)) { |
143 report_java_out_of_memory("Requested array size exceeds VM limit"); | |
143 THROW_OOP_0(Universe::out_of_memory_error_array_size()); | 144 THROW_OOP_0(Universe::out_of_memory_error_array_size()); |
144 } | 145 } |
145 int size = objArrayOopDesc::object_size(length); | 146 int size = objArrayOopDesc::object_size(length); |
146 klassOop k = array_klass(n+dimension(), CHECK_0); | 147 klassOop k = array_klass(n+dimension(), CHECK_0); |
147 arrayKlassHandle ak (THREAD, k); | 148 arrayKlassHandle ak (THREAD, k); |