equal
deleted
inserted
replaced
338 int log2_elt_size = exact_log2(elt_size); |
338 int log2_elt_size = exact_log2(elt_size); |
339 |
339 |
340 // Check for negative or excessive length. |
340 // Check for negative or excessive length. |
341 size_t max_length = max_array_allocation_length >> log2_elt_size; |
341 size_t max_length = max_array_allocation_length >> log2_elt_size; |
342 if (UseTLAB) { |
342 if (UseTLAB) { |
343 size_t max_tlab = align_size_up(ThreadLocalAllocBuffer::max_size() >> log2_elt_size, 64*K); |
343 size_t max_tlab = align_up(ThreadLocalAllocBuffer::max_size() >> log2_elt_size, 64*K); |
344 if (max_tlab < max_length) { max_length = max_tlab; } |
344 if (max_tlab < max_length) { max_length = max_tlab; } |
345 } |
345 } |
346 load_const_optimized(t1, max_length); |
346 load_const_optimized(t1, max_length); |
347 cmpld(CCR0, len, t1); |
347 cmpld(CCR0, len, t1); |
348 bc_far_optimized(Assembler::bcondCRbiIs1, bi0(CCR0, Assembler::greater), slow_case); |
348 bc_far_optimized(Assembler::bcondCRbiIs1, bi0(CCR0, Assembler::greater), slow_case); |