review request (S): 8042255 make gc src file exclusion more automatic
John Coomes
John.Coomes at oracle.com
Sat May 17 06:56:19 UTC 2014
David Holmes (david.holmes at oracle.com) wrote:
> Hi John,
>
> On 14/05/2014 7:34 AM, John Coomes wrote:
> > John Coomes (John.Coomes at oracle.com) wrote:
> >> Please review this small makefile change to reduce the need to update
> >> the list of files in make/excludeSrc.make.
>
> They will still need to know whether a new file is an excluded file or a
> kept file, and possibly update the gc_shared_keep list, but at least an
> excluded but needed file should result in a build error; whereas a
> not-excluded unneeded file may not.
Hi David,
Thanks for looking at it.
Yes, you're exactly right; I found 4 files in gc_implementation/shared
that were unneeded but not excluded. At least all cms, g1, parallel
scavenge and parnew files will be excluded automatically.
> Is it worth considering splitting the shared directory in two?
I thought about it, but only for a moment :-). I think we should see
how often excludeSrc.make has to be updated in jdk9 after this change;
probably won't happen much.
> >>
> >> http://cr.openjdk.java.net/~jcoomes/8042255-gc-exclude/
> >
> > A couple of people on the gc team have looked at these changes and
> > don't object, but they also requested that someone with real makefile
> > expertise take a look. Anyone here willing to look at it? Only one
> > file changed.
>
> This looks okay - assuming the list of excluded files is the same before
> and after.
There are 4 files that are newly-excluded (see the comments in the
webrev), but they should be excluded.
> These:
>
> 90 gc_shared_all = $(notdir $(wildcard $(gc_impl)/shared/*.cpp))
> 91 gc_shared_keep = \
>
> might be slightly more efficient if defined using :=
>
> For that matter it might be more efficient to change:
>
> 82 Src_Files_EXCLUDE +=
> \
> 83 $(notdir $(wildcard $(gc_impl)/concurrentMarkSweep/*.cpp))
> \
> 84 $(notdir $(wildcard $(gc_impl)/g1/*.cpp))
> \
> 85 $(notdir $(wildcard $(gc_impl)/parallelScavenge/*.cpp))
> \
> 86 $(notdir $(wildcard $(gc_impl)/parNew/*.cpp))
>
> to
>
> 82 gc_files_exclude :=
> \
> 83 $(notdir $(wildcard $(gc_impl)/concurrentMarkSweep/*.cpp))
> \
> 84 $(notdir $(wildcard $(gc_impl)/g1/*.cpp))
> \
> 85 $(notdir $(wildcard $(gc_impl)/parallelScavenge/*.cpp))
> \
> 86 $(notdir $(wildcard $(gc_impl)/parNew/*.cpp))
>
> 87 Src_Files_EXCLUDE += gc_files_exclude
Sure, I like that idea and will change to use "simply-expanded" vars.
-John
More information about the hotspot-runtime-dev
mailing list