< prev index next > src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.inline.hpp
Print this page
oop obj = cast_to_oop(p);
// PREFIX: The object that straddles into this range of dirty cards
// from the left may be subject to special treatment unless
// it is an object array.
- if (p < left && !obj->is_objArray()) {
+ if (p < left && !obj->is_refArray()) {
// The mutator (both compiler and interpreter, but not JNI?)
// typically dirty imprecisely (i.e. only the head of an object),
// but GC closures typically dirty the object precisely. (It would
// be nice to have everything be precise for maximum efficiency.)
//
// by scanning the portion of a non-objArray that wasn't done.
if (p > right && last_p != nullptr) {
assert(last_p < right, "Error");
// check if last_p suffix needs scanning
const oop last_obj = cast_to_oop(last_p);
- if (!last_obj->is_objArray()) {
+ if (!last_obj->is_refArray()) {
// scan the remaining suffix of the object
const MemRegion last_mr(right, p);
assert(p == last_p + last_obj->size(), "Would miss portion of last_obj");
last_obj->oop_iterate(cl, last_mr);
log_develop_debug(gc, remset)("Fixed up non-objArray suffix scan in [" INTPTR_FORMAT ", " INTPTR_FORMAT ")",
< prev index next >