< prev index next > src/hotspot/share/gc/parallel/psCompactionManager.cpp
Print this page
assert(index < ParallelGCThreads, "index out of range");
assert(_manager_array != nullptr, "Sanity");
return _manager_array[index];
}
! void ParCompactionManager::push_objArray(oop obj) {
! assert(obj->is_objArray(), "precondition");
_mark_and_push_closure.do_klass(obj->klass());
! objArrayOop obj_array = objArrayOop(obj);
- size_t array_length = obj_array->length();
size_t initial_chunk_size =
! _partial_array_splitter.start(&_marking_stack, obj_array, nullptr, array_length);
! follow_array(obj_array, 0, initial_chunk_size);
}
void ParCompactionManager::process_array_chunk(PartialArrayState* state, bool stolen) {
// Access before release by claim().
oop obj = state->source();
assert(index < ParallelGCThreads, "index out of range");
assert(_manager_array != nullptr, "Sanity");
return _manager_array[index];
}
! void ParCompactionManager::push_objArray(objArrayOop obj) {
! assert(obj->is_array_with_oops(), "precondition");
_mark_and_push_closure.do_klass(obj->klass());
! size_t array_length = obj->length();
size_t initial_chunk_size =
! _partial_array_splitter.start(&_marking_stack, obj, nullptr, array_length);
! follow_array(obj, 0, initial_chunk_size);
}
void ParCompactionManager::process_array_chunk(PartialArrayState* state, bool stolen) {
// Access before release by claim().
oop obj = state->source();
< prev index next >