409 } |
409 } |
410 |
410 |
411 template <class T> void PSPromotionManager::process_array_chunk_work( |
411 template <class T> void PSPromotionManager::process_array_chunk_work( |
412 oop obj, |
412 oop obj, |
413 int start, int end) { |
413 int start, int end) { |
414 assert(start < end, "invariant"); |
414 assert(start <= end, "invariant"); |
415 T* const base = (T*)objArrayOop(obj)->base(); |
415 T* const base = (T*)objArrayOop(obj)->base(); |
416 T* p = base + start; |
416 T* p = base + start; |
417 T* const chunk_end = base + end; |
417 T* const chunk_end = base + end; |
418 while (p < chunk_end) { |
418 while (p < chunk_end) { |
419 if (PSScavenge::should_scavenge(p)) { |
419 if (PSScavenge::should_scavenge(p)) { |