src/hotspot/share/memory/metaspaceShared.cpp
changeset 51608 625a5bdde0c5
parent 51554 5b0d86499960
child 51674 d7dcaacb95dd
equal deleted inserted replaced
51607:5eb48e9d607a 51608:625a5bdde0c5
  1617   // We need to iterate because verification may cause additional classes
  1617   // We need to iterate because verification may cause additional classes
  1618   // to be loaded.
  1618   // to be loaded.
  1619   LinkSharedClassesClosure link_closure(THREAD);
  1619   LinkSharedClassesClosure link_closure(THREAD);
  1620   do {
  1620   do {
  1621     link_closure.reset();
  1621     link_closure.reset();
  1622     ClassLoaderDataGraph::loaded_classes_do(&link_closure);
  1622     ClassLoaderDataGraph::unlocked_loaded_classes_do(&link_closure);
  1623     guarantee(!HAS_PENDING_EXCEPTION, "exception in link_class");
  1623     guarantee(!HAS_PENDING_EXCEPTION, "exception in link_class");
  1624   } while (link_closure.made_progress());
  1624   } while (link_closure.made_progress());
  1625 
  1625 
  1626   if (_has_error_classes) {
  1626   if (_has_error_classes) {
  1627     // Mark all classes whose super class or interfaces failed verification.
  1627     // Mark all classes whose super class or interfaces failed verification.
  1629     do {
  1629     do {
  1630       // Not completely sure if we need to do this iteratively. Anyway,
  1630       // Not completely sure if we need to do this iteratively. Anyway,
  1631       // we should come here only if there are unverifiable classes, which
  1631       // we should come here only if there are unverifiable classes, which
  1632       // shouldn't happen in normal cases. So better safe than sorry.
  1632       // shouldn't happen in normal cases. So better safe than sorry.
  1633       check_closure.reset();
  1633       check_closure.reset();
  1634       ClassLoaderDataGraph::loaded_classes_do(&check_closure);
  1634       ClassLoaderDataGraph::unlocked_loaded_classes_do(&check_closure);
  1635     } while (check_closure.made_progress());
  1635     } while (check_closure.made_progress());
  1636 
  1636 
  1637     if (IgnoreUnverifiableClassesDuringDump) {
  1637     if (IgnoreUnverifiableClassesDuringDump) {
  1638       // This is useful when running JCK or SQE tests. You should not
  1638       // This is useful when running JCK or SQE tests. You should not
  1639       // enable this when running real apps.
  1639       // enable this when running real apps.