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

Remove circular dependency between g1CollectedHeap and g1ConcurrentMark

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b21

      Backports

        Description

        g1CollectedHeap.inline.hpp and g1ConcurrentMark.inline.hpp have a circular dependency. This causes the generated object files much larger than necessary and slows down the time to build. It also makes it difficult to use objdump to inspect the generated object files.

        Use the following command to get the size of the generated object files:
        $ du -ch hotspot/variant-server/libjvm/objs/g1*.o | tail -n 1

        Currently:
        6.1MB

        After the patch:
        3.7MB

        Reduction of size for libjvm.so: 22144344 -> 22126016

        (The above result is based on GCC 7.3.0 and configure options "--with-stdc++lib=static --disable-precompiled-headers --enable-unlimited-crypto --disable-keep-packaged-modules --with-native-debug-symbols=none --disable-warnings-as-errors --with-debug-level=release")

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  manc Man Cao
                  Reporter:
                  manc Man Cao
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: