RFR(XXL): 8079792: GC directory structure cleanup

Per Liden per.liden at oracle.com
Wed May 13 08:29:01 UTC 2015


> On 12 May 2015, at 17:24, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
> 
> Hi Per,
> 
> On 2015-05-12 12:16, Per Liden wrote:
>> Hi,
>> 
>> As previously mentioned [1], the GC team is doing a cleanup of the directory structure for the GC code. Here's the patch for that cleanup.
>> 
>> First, a recap of the new directory structure:
>> 
>> - A single "top-level" directory for GC code:
>>    src/share/vm/gc/
>> 
>> - One sub-directory per GC:
>>    src/share/vm/gc/cms/
>>    src/share/vm/gc/g1/
>>    src/share/vm/gc/parallel/
>>    src/share/vm/gc/serial/
>> 
>> - A single directory for common/shared GC code:
>>    src/share/gc/shared/
>> 
>> 
>> A number of GC files previously located in memory and utilities have been moved in under the gc directory (mostly into gc/shared), these are:
>> 
>>    memory/barrierSet.*
>>    memory/blockOffsetTable.*
>>    memory/cardGeneration.*
>>    memory/cardTableModRefBS.*
>>    memory/cardTableRS.*
>>    memory/collectorPolicy.*
>>    memory/gcLocker.*
>>    memory/genCollectedHeap.*
>>    memory/generation.*
>>    memory/generationSpec.*
>>    memory/genOopClosures.*
>>    memory/genMarkSweep.*
>>    memory/genRemSet.*
>>    memory/modRefBarrierSet.*
>>    memory/referencePolicy.*
>>    memory/referenceProcessor.*
>>    memory/referenceProcessorStats.*
>>    memory/space.*
>>    memory/specialized_oop_closures.*
>>    memory/strongRootsScope.*
>>    memory/tenuredGeneration.*
>>    memory/threadLocalAllocBuffer.*
>>    memory/watermark.*
>>    utilities/workgroup.*
>>    utilities/taskqueue.*
>> 
>> 
>> The patch is very large because it touches a lot of files, but the individual changes are trivial. The main bulk of the changes consists of adjustments to #includes "gc_implementation/... and #ifndef SHARE_VM_GC_IMPL... The rest (minor part) of the patch include adjustments to some makefiles, SA and jtreg tests.
>> 
>> 
>> Webrev: http://cr.openjdk.java.net/~pliden/8079792/webrev.0/
> 
> This is a huge patch and I haven't looked at all the files yet, but most of it looks good. I won't be able to review every single updated include/guard line, but I don't think that's too important as long as the patch builds.


Thanks for reviewing Stefan.


> 
> http://cr.openjdk.java.net/~pliden/8079792/webrev.0/make/excludeSrc.make.udiff.html
> 
> The gc_shared_keep variable was changed to include almost all files in gc/shared, but there a few files in gc/shared that are not listed. Most of them should probably be moved to GC specific directories.
> 
> With those files moved, we might want to consider removing the gc_shared_keep variable entirely.


Agree, I’ll remove gc_shared_keep and move the [hgc]SpaceCounters.* to their respective directory (I had missed that those are actually GC-specific).

/Per

> 
> thanks,
> StefanK
> 
>> 
>> Here's the same webrev split into the following pieces:
>> 
>> - Change to cpp/hpp files
>> http://cr.openjdk.java.net/~pliden/8079792/webrev.0-hotspot/
>> 
>> - Changes to makefiles
>> http://cr.openjdk.java.net/~pliden/8079792/webrev.0-make/
>> 
>> - Changes to SA
>> http://cr.openjdk.java.net/~pliden/8079792/webrev.0-sa/
>> 
>> - Changes to jtreg tests
>> http://cr.openjdk.java.net/~pliden/8079792/webrev.0-test/
>> 
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8079792
>> 
>> Testing: JPRT, Aurora adhoc GC nightly, bigapps
>> 
>> cheers,
>> /Per
>> 
>> [1] http://mail.openjdk.java.net/pipermail/hotspot-dev/2015-May/018439.html
> 



More information about the hotspot-dev mailing list