< prev index next > src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp
Print this page
cl->set_weak(false);
}
obj->oop_iterate(cl);
dedup_string<STRING_DEDUP>(obj, req);
- } else if (obj->is_objArray()) {
+ } else if (obj->is_refArray()) {
// Case 2: Object array instance and no chunk is set. Must be the first
// time we visit it, start the chunked processing.
do_chunked_array_start<T>(q, cl, obj, weak);
} else {
// Case 3: Primitive array. Do nothing, no oops there. We use the same
}
}
template <class T>
inline void ShenandoahMark::do_chunked_array_start(ShenandoahObjToScanQueue* q, T* cl, oop obj, bool weak) {
- assert(obj->is_objArray(), "expect object array");
+ assert(obj->is_refArray(), "expect object array");
objArrayOop array = objArrayOop(obj);
int len = array->length();
// Mark objArray klass metadata
if (Devirtualizer::do_metadata(cl)) {
}
}
template <class T>
inline void ShenandoahMark::do_chunked_array(ShenandoahObjToScanQueue* q, T* cl, oop obj, int chunk, int pow, bool weak) {
- assert(obj->is_objArray(), "expect object array");
+ assert(obj->is_refArray(), "expect object array");
objArrayOop array = objArrayOop(obj);
assert (ObjArrayMarkingStride > 0, "sanity");
// Split out tasks, as suggested in ShenandoahMarkTask docs. Avoid pushing tasks that
< prev index next >