< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
Print this page
rev 57589 : 8237632: Shenandoah fails some vmTestbase_nsk_jvmti tests with "Forwardee must point to a heap address"
*** 232,247 ****
--- 232,250 ----
"Non-trivial forwardee should in another region",
file, line);
}
// Step 4. Check for multiple forwardings
+ /*
+ Disable for now. JVMTI heap walking creates 'forwarded' pattern outside cset
oop fwd2 = oop(ShenandoahForwarding::get_forwardee_raw_unchecked(fwd));
if (fwd != fwd2) {
print_failure(_safe_all, obj, interior_loc, NULL, "Shenandoah assert_correct failed",
"Multiple forwardings",
file, line);
}
+ */
}
}
void ShenandoahAsserts::assert_in_correct_region(void* interior_loc, oop obj, const char* file, int line) {
assert_correct(interior_loc, obj, file, line);
*** 373,377 ****
--- 376,389 ----
}
ShenandoahMessageBuffer msg("Must ba at a Shenandoah safepoint or held %s lock", lock->name());
report_vm_error(file, line, msg.buffer());
}
+
+ #ifdef ASSERT
+ bool ShenandoahAsserts::can_verify_oop(oop obj) {
+ if (CompressedOops::is_null(obj)) return true;
+ ShenandoahHeap* const heap = ShenandoahHeap::heap_no_check();
+ if (heap->in_collection_set(obj)) return true;
+ return false;
+ }
+ #endif
< prev index next >