changeset 9456:eeae3b9acc91

8264640: CMS ParScanClosure misses a barrier Reviewed-by: yan, johnc
author akozlov
date Fri, 09 Apr 2021 12:30:04 +0000
parents 2c2654af0243
children 99e4a82f17e8
files src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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.