comparison src/share/vm/opto/parse3.cpp @ 106:c9314fa4f757

6663908: NegativeArraySizeException is not thrown Summary: Don't optimize zero length array allocations at compile time. Reviewed-by: kvn, never
author rasbold
date Mon, 07 Apr 2008 15:15:16 -0700
parents a61af66fc99e
children ba764ed4b6f2
comparison
equal deleted inserted replaced
105:a7d0f95410bd 106:c9314fa4f757
406 jint expand_fanout = 1; // running total fanout 406 jint expand_fanout = 1; // running total fanout
407 for (j = 0; j < ndimensions-1; j++) { 407 for (j = 0; j < ndimensions-1; j++) {
408 jint dim_con = find_int_con(length[j], -1); 408 jint dim_con = find_int_con(length[j], -1);
409 expand_fanout *= dim_con; 409 expand_fanout *= dim_con;
410 expand_count += expand_fanout; // count the level-J sub-arrays 410 expand_count += expand_fanout; // count the level-J sub-arrays
411 if (dim_con < 0 411 if (dim_con <= 0
412 || dim_con > expand_limit 412 || dim_con > expand_limit
413 || expand_count > expand_limit) { 413 || expand_count > expand_limit) {
414 expand_count = 0; 414 expand_count = 0;
415 break; 415 break;
416 } 416 }