Heads Up! GC directory structure cleanup
per.liden at oracle.com
Thu May 7 08:23:26 UTC 2015
This is a heads up to let everyone know that the GC team is planning to
do a cleanup of the directory structure for GC code. This change will
affect people working on changes which touch GC-related code, and could
mean that such patches need to be updated before applying cleanly to the
new directory structure.
In the continuous work to address technical debt, the time has come to
make some changes to how the GC code is organized. Over time the GC code
has spread out across a number of directories, and currently looks like
- There are three "top-level" directories which contain GC-related code:
- Our collectors are roughly spread out like this:
- We have common/shared code in the following places:
src/share/vm/gc_interface/ (CollectedHeap, etc)
src/share/vm/gc_implementation/shared/ (counters, utilities, etc)
src/share/vm/memory/ (BarrierSet, GenCollectedHeap, etc)
The plan is for the new structure to look like this:
- A single "top-level" directory for GC code:
- One sub-directory per GC:
- A single directory for common/shared GC code:
Q: How will this affect me?
A: Moving files around could mean that the patch you are working on will
fail to apply cleanly. hg does a fairly good job of tracking
moves/renames, but if you're using other tools (like patch, mq, etc) you
might need to update/merge your patch manually.
Q: When will this happen?
A: A patch for this is currently being worked on and tested. A review
request will be sent to hotspot-dev in the near future.
Q: Why do this now?
A: All major back-porting work to 8u has been completed. If we want to
do this type of cleanup in jdk9, then now is a good time. The next
opportunity to do this will be in jdk10, after all major back-porting
work to 9u has been completed. We would prefer to do it now.
The GC Team
More information about the hotspot-dev