Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8013160

NPG: Remove unnecessary mark stack draining after CodeCache::do_unloading

XMLWordPrintable

    • gc
    • b31

        The PermGen Removal changed CompiledICHolders from being Java objects to C++ objects.

        CodeCache::do_unloading(...) used to take a keep_alive closure that was applied to CompiledICHolders deep down in nmethod::do_unloading. Since CompileICHolders don't move anymore, and we have other ways to keep them alive, we don't use the keep_alive closures in these functions anymore.

        Because of this, CodeCache::do_unloading will not populate the marking stacks, and we can remove the call to drain the stacks after the calls to CodeCache::do_unloading.

        This also has the neat effect that we now can verify that the marking has really completed before we start unloading classes, which makes the code easier to maintain/understand.

              stefank Stefan Karlsson
              stefank Stefan Karlsson
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: