< prev index next >

src/hotspot/share/cds/cdsHeapVerifier.cpp

Print this page
*** 132,21 ***
      ADD_EXCL("java/lang/invoke/InvokerBytecodeGenerator", "MEMBERNAME_FACTORY",    // D
                                                            "CD_Object_array",       // E same as <...>ConstantUtils.CD_Object_array::CD_Object
                                                            "INVOKER_SUPER_DESC");   // E same as java.lang.constant.ConstantDescs::CD_Object
    }
  
  # undef ADD_EXCL
  
    ClassLoaderDataGraph::classes_do(this);
  }
  
  CDSHeapVerifier::~CDSHeapVerifier() {
    if (_problems > 0) {
      log_error(cds, heap)("Scanned %d objects. Found %d case(s) where "
                           "an object points to a static field that "
                           "may hold a different value at runtime.", _archived_objs, _problems);
!     MetaspaceShared::unrecoverable_writing_error();
    }
  }
  
  class CDSHeapVerifier::CheckStaticFields : public FieldClosure {
    CDSHeapVerifier* _verifier;
--- 132,27 ---
      ADD_EXCL("java/lang/invoke/InvokerBytecodeGenerator", "MEMBERNAME_FACTORY",    // D
                                                            "CD_Object_array",       // E same as <...>ConstantUtils.CD_Object_array::CD_Object
                                                            "INVOKER_SUPER_DESC");   // E same as java.lang.constant.ConstantDescs::CD_Object
    }
  
+   // These are used by BuiltinClassLoader::negativeLookupCache, etc but seem to be
+   // OK. TODO - we should completely disable the caching unless ArchiveLoaderLookupCache
+   // is enabled
+   ADD_EXCL("java/lang/Boolean",                           "TRUE",                  // E
+                                                           "FALSE");                // E
+ 
  # undef ADD_EXCL
  
    ClassLoaderDataGraph::classes_do(this);
  }
  
  CDSHeapVerifier::~CDSHeapVerifier() {
    if (_problems > 0) {
      log_error(cds, heap)("Scanned %d objects. Found %d case(s) where "
                           "an object points to a static field that "
                           "may hold a different value at runtime.", _archived_objs, _problems);
!     //MetaspaceShared::unrecoverable_writing_error(); // FIXME -- leyden+JEP483 merge
    }
  }
  
  class CDSHeapVerifier::CheckStaticFields : public FieldClosure {
    CDSHeapVerifier* _verifier;
< prev index next >