RFR: ZGC: Revert VerifyFieldClosure change

Stefan Karlsson stefan.karlsson at oracle.com
Tue May 29 13:12:49 UTC 2018


Hi all,

This code was changed some time ago to fix verification failures when 
running with fastdebug (-XX:+VerifyBeforeExit turned on). We have since 
then disabled VerifyBeforeExit for ZGC, and this code can therefore be 
reverted:

diff --git a/src/hotspot/share/oops/instanceKlass.cpp 
b/src/hotspot/share/oops/instanceKlass.cpp
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -3212,11 +3212,7 @@
  class VerifyFieldClosure: public OopClosure {
   protected:
    template <class T> void do_oop_work(T* p) {
-    // This verification wants to see that all the oops are correct without
-    // first passing through a barrier. However, we need a barrier here 
since
-    // this can happen at shutdown before we've completed the remapping.
-    // Revisit this later.
-    oop obj = HeapAccess<>::oop_load(p);
+    oop obj = RawAccess<>::oop_load(p);
      if (!oopDesc::is_oop_or_null(obj)) {
        tty->print_cr("Failed: " PTR_FORMAT " -> " PTR_FORMAT, p2i(p), 
p2i(obj));
        Universe::print_on(tty);

Thanks,
StefanK


More information about the zgc-dev mailing list