< 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 >