equal
deleted
inserted
replaced
27 |
27 |
28 #include "gc/parallel/parMarkBitMap.hpp" |
28 #include "gc/parallel/parMarkBitMap.hpp" |
29 #include "gc/parallel/psCompactionManager.hpp" |
29 #include "gc/parallel/psCompactionManager.hpp" |
30 #include "gc/parallel/psParallelCompact.inline.hpp" |
30 #include "gc/parallel/psParallelCompact.inline.hpp" |
31 #include "gc/shared/taskqueue.inline.hpp" |
31 #include "gc/shared/taskqueue.inline.hpp" |
32 #include "oops/objArrayOop.hpp" |
32 #include "oops/arrayOop.inline.hpp" |
|
33 #include "oops/objArrayOop.inline.hpp" |
33 #include "oops/oop.inline.hpp" |
34 #include "oops/oop.inline.hpp" |
34 #include "utilities/debug.hpp" |
35 #include "utilities/debug.hpp" |
35 #include "utilities/globalDefinitions.hpp" |
36 #include "utilities/globalDefinitions.hpp" |
36 |
37 |
37 inline bool ParCompactionManager::steal(int queue_num, int* seed, oop& t) { |
38 inline bool ParCompactionManager::steal(int queue_num, int* seed, oop& t) { |
115 const size_t beg_index = size_t(index); |
116 const size_t beg_index = size_t(index); |
116 assert(beg_index < len || len == 0, "index too large"); |
117 assert(beg_index < len || len == 0, "index too large"); |
117 |
118 |
118 const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride); |
119 const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride); |
119 const size_t end_index = beg_index + stride; |
120 const size_t end_index = beg_index + stride; |
120 T* const base = (T*)obj->base(); |
121 T* const base = (T*)obj->base_raw(); |
121 T* const beg = base + beg_index; |
122 T* const beg = base + beg_index; |
122 T* const end = base + end_index; |
123 T* const end = base + end_index; |
123 |
124 |
124 if (end_index < len) { |
125 if (end_index < len) { |
125 cm->push_objarray(obj, end_index); // Push the continuation. |
126 cm->push_objarray(obj, end_index); // Push the continuation. |