Stabilize PackageEntry::package_exports_do

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 9
    • Affects Version/s: 9
    • Component/s: hotspot
    • b124

      // iteration of qualified exports
      void PackageEntry::package_exports_do(ModuleClosure* const f) {
        assert_locked_or_safepoint(Module_lock);
        assert(f != NULL, "invariant");

        if (is_qual_exported()) { <<---
          int qe_len = _qualified_exports->length();

          for (int i = 0; i < qe_len; ++i) {
            f->do_module(_qualified_exports->at(i));
          }
        }
      }

      is_qual_exported() has been updated to:

        bool is_qual_exported() const {
          return (_is_exported && (_qualified_exports != NULL || _is_exported_allUnnamed));
        }

      which means:
      _qualified_exports->length(); is no longer safe.


            Assignee:
            Rachel Protacio (Inactive)
            Reporter:
            Markus Grönlund
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: