# HG changeset patch # User akozlov # Date 1617971404 0 # Node ID eeae3b9acc916ca6930b75e653bf6c0dc6cd87ba # Parent 2c2654af0243ad07f7bd856a2666fe7c64b6b1f8 8264640: CMS ParScanClosure misses a barrier Reviewed-by: yan, johnc diff -r 2c2654af0243 -r eeae3b9acc91 src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp --- a/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Mon May 10 03:15:45 2021 +0100 +++ b/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Fri Apr 09 12:30:04 2021 +0000 @@ -38,6 +38,7 @@ // we need to ensure that it is copied (see comment in // ParScanClosure::do_oop_work). Klass* objK = obj->klass(); + OrderAccess::loadload(); markOop m = obj->mark(); oop new_obj; if (m->is_marked()) { // Contains forwarding pointer. @@ -101,6 +102,7 @@ // overwritten with an overflow next pointer after the object is // forwarded. Klass* objK = obj->klass(); + OrderAccess::loadload(); markOop m = obj->mark(); oop new_obj; if (m->is_marked()) { // Contains forwarding pointer.