Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045380 | 8u25 | Thomas Schatzl | P4 | Resolved | Fixed | b01 |
JDK-8039246 | 8u20 | Thomas Schatzl | P4 | Resolved | Fixed | b09 |
JDK-8053300 | emb-8u26 | Thomas Schatzl | P4 | Resolved | Fixed | b17 |
Change 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure
broke the dbg build on AIX. That's because do_oop_partial_array() is added in
a header, but requires inline function par_write_ref() through several inlined
calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined. Therefore the aix debug VM does not start.
This can be solved by including g1RemSet.inline.hpp in g1CollectedHeap.inline.hpp.
Unfortunately this causes a cyclic dependency that breaks the linux build.
A inline.hpp file is included ahead of a .hpp file, so that the inline.hpp file
can not see the class declaration.
This is caused because g1CollectedHeap.inline.hpp is included in sparsePRT.hpp.
But .inline.hpp files never should be included in .hpp files.
Fix:
To resolve this, I changed the inlcude in sparsePRT.hpp to g1CollectedHeap.hpp.
As consequence, I had to move a row of functions to existing .inline.hpp files.
I also added g1RemSet.inline.hpp in g1CollectedHeap.inline.hpp.
broke the dbg build on AIX. That's because do_oop_partial_array() is added in
a header, but requires inline function par_write_ref() through several inlined
calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined. Therefore the aix debug VM does not start.
This can be solved by including g1RemSet.inline.hpp in g1CollectedHeap.inline.hpp.
Unfortunately this causes a cyclic dependency that breaks the linux build.
A inline.hpp file is included ahead of a .hpp file, so that the inline.hpp file
can not see the class declaration.
This is caused because g1CollectedHeap.inline.hpp is included in sparsePRT.hpp.
But .inline.hpp files never should be included in .hpp files.
Fix:
To resolve this, I changed the inlcude in sparsePRT.hpp to g1CollectedHeap.hpp.
As consequence, I had to move a row of functions to existing .inline.hpp files.
I also added g1RemSet.inline.hpp in g1CollectedHeap.inline.hpp.
- backported by
-
JDK-8039246 Fix includes and C inlining after 8035330
-
- Resolved
-
-
JDK-8045380 Fix includes and C inlining after 8035330
-
- Resolved
-
-
JDK-8053300 Fix includes and C inlining after 8035330
-
- Resolved
-