< prev index next > src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp
Print this page
inline bool G1FullGCMarker::is_task_queue_empty() {
return _task_queue.is_empty();
}
inline void G1FullGCMarker::process_array_chunk(objArrayOop obj, size_t start, size_t end) {
+ precond(obj->is_array_with_oops());
obj->oop_iterate_elements_range(mark_closure(),
checked_cast<int>(start),
checked_cast<int>(end));
}
assert(_bitmap->is_marked(task.to_partial_array_state()->source()), "should be marked");
process_partial_array(task.to_partial_array_state(), stolen);
} else {
oop obj = task.to_oop();
assert(_bitmap->is_marked(obj), "should be marked");
! if (obj->is_objArray()) {
// Handle object arrays explicitly to allow them to
// be split into chunks if needed.
start_partial_array_processing((objArrayOop)obj);
} else {
obj->oop_iterate(mark_closure());
assert(_bitmap->is_marked(task.to_partial_array_state()->source()), "should be marked");
process_partial_array(task.to_partial_array_state(), stolen);
} else {
oop obj = task.to_oop();
assert(_bitmap->is_marked(obj), "should be marked");
! if (obj->is_array_with_oops()) {
// Handle object arrays explicitly to allow them to
// be split into chunks if needed.
start_partial_array_processing((objArrayOop)obj);
} else {
obj->oop_iterate(mark_closure());
< prev index next >