RFR: JDK-8077842 - Remove the level parameter passed around in GenCollectedHeap

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Thu May 28 15:57:17 UTC 2015


Another non-trivial merge later the webrev looks like this:


I reran all the tests and it turned out that the new assert in 
defNewGeneration.cpp was assuming that the generations were set up, which was 
not true at startup. So I have changed the assert to:

+DefNewGeneration::IsAliveClosure::IsAliveClosure(Generation* young_gen) : 
_young_gen(young_gen) {
+  assert(_young_gen->kind() == Generation::ParNew ||
+         _young_gen->kind() == Generation::DefNew, "Expected the young 
generation here");

This is more like the old assert that also looked at the properties of the 
generation itself:

-DefNewGeneration::IsAliveClosure::IsAliveClosure(Generation* g) : _g(g) {
-  assert(g->level() == 0, "Optimized for youngest gen.");

Compared to the other webrevs this is the only change modulo some code that was 
removed by recent changes and didn't need to be changed any more.

Still need a Reviewer to have a look at this.


Jesper Wilhelmsson skrev den 20/5/15 19:15:
> Kim Barrett skrev den 14/5/15 00:03:
>> On May 12, 2015, at 3:02 PM, Jesper Wilhelmsson
>> <jesper.wilhelmsson at oracle.com> wrote:
>>> Thanks Kim!
>>> I reverted the latest change in PointerLocation.java and CollectedHeap.java,
>>> now we're back to casts :)
>>> That's the only change in this webrev:
>>> http://cr.openjdk.java.net/~jwilhelm/8077842/webrev.02/
>> Looks ok.
>> I’m assuming the (Java) GenCollectedHeap.getGen() will eventually be replaced
>> with specific young/old-gen accessors?
> I filed JDK-8080765 to handle the cleanups in the SA.
> Since the restructure of the GC files went in I had to rebase my patch.
> Mercurial handled it flawlessly and I only had to merge two files where I added
> a new include, genMarkSweep.cpp and vmGCOperations.hpp
> A new webrev with the new patch is available here:
> http://cr.openjdk.java.net/~jwilhelm/8077842/webrev.03
> Thanks,
> /Jesper

More information about the hotspot-gc-dev mailing list