-
Enhancement
-
Resolution: Fixed
-
P4
-
11, 12
-
b21
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8219009 | 11.0.3 | Man Cao | P4 | Resolved | Fixed | master |
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")
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")
- backported by
-
JDK-8219009 Remove circular dependency between g1CollectedHeap and g1ConcurrentMark
-
- Resolved
-