--- old/src/hotspot/share/runtime/handles.cpp 2019-03-11 14:27:13.938354218 +0100 +++ new/src/hotspot/share/runtime/handles.cpp 2019-03-11 14:27:13.694354221 +0100 @@ -26,6 +26,8 @@ #include "memory/allocation.inline.hpp" #include "oops/constantPool.hpp" #include "oops/oop.inline.hpp" +#include "oops/valueKlass.hpp" +#include "runtime/atomic.hpp" #include "runtime/handles.inline.hpp" #include "runtime/thread.inline.hpp" @@ -96,7 +98,10 @@ // during GC phase 3, a handle may be a forward pointer that // is not yet valid, so loosen the assertion while (bottom < top) { - f->do_oop(bottom++); + if (Universe::heap()->is_in_reserved_or_null(*bottom)) { + f->do_oop(bottom); + } + bottom++; } return handles_visited; }