8292368: [ppc64] internal error g1BarrierSet.inline.hpp assert(oopDesc::is_oop(pre_val, true)) failed: Error

Reviewed-by: eosterlund, shade
This commit is contained in:
Martin Doerr 2022-08-23 08:58:53 +00:00
parent d92e00a519
commit cf00677412

View File

@ -72,7 +72,9 @@ bool BarrierSetNMethod::nmethod_entry_barrier(nmethod* nm) {
// conversion that performs the load barriers. This is too subtle, so we instead
// perform an explicit keep alive call.
oop obj = NativeAccess<ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE>::oop_load(p);
Universe::heap()->keep_alive(obj);
if (obj != nullptr) {
Universe::heap()->keep_alive(obj);
}
}
virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); }