src/hotspot/share/oops/objArrayKlass.cpp
changeset 50304 d5331b94f821
parent 50094 2f79462aab9b
child 50389 7e8c0409a747
equal deleted inserted replaced
50303:7164c3bb55df 50304:d5331b94f821
   179       report_java_out_of_memory("Requested array size exceeds VM limit");
   179       report_java_out_of_memory("Requested array size exceeds VM limit");
   180       JvmtiExport::post_array_size_exhausted();
   180       JvmtiExport::post_array_size_exhausted();
   181       THROW_OOP_0(Universe::out_of_memory_error_array_size());
   181       THROW_OOP_0(Universe::out_of_memory_error_array_size());
   182     }
   182     }
   183   } else {
   183   } else {
   184     THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
   184     THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
   185   }
   185   }
   186 }
   186 }
   187 
   187 
   188 static int multi_alloc_counter = 0;
   188 static int multi_alloc_counter = 0;
   189 
   189 
   207       // allocated, however the lower dimension values must be checked
   207       // allocated, however the lower dimension values must be checked
   208       // for illegal values.
   208       // for illegal values.
   209       for (int i = 0; i < rank - 1; ++i) {
   209       for (int i = 0; i < rank - 1; ++i) {
   210         sizes += 1;
   210         sizes += 1;
   211         if (*sizes < 0) {
   211         if (*sizes < 0) {
   212           THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
   212           THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", *sizes));
   213         }
   213         }
   214       }
   214       }
   215     }
   215     }
   216   }
   216   }
   217   return h_array();
   217   return h_array();