RFR: JDK-8061802 - REDO - Remove the generations array
jesper.wilhelmsson at oracle.com
Thu Jan 29 10:45:21 UTC 2015
Please review this second attempt to remove the generations array.
There were two bugs that caused this patch to be backed out the last time:
1. Collection of the old generation was always run even if the young collection
freed up enough to satisfy the allocation need. This was due to an unexpected
use of the size variable and stopped working when the code that changed the
variable was broken out into a separate function.
2. The new _young_generation and _old_generation fields was missing from the
declarations in vm_structs.cpp. Cut'n'paste error when the original huge change
was split into smaller parts for easier review.
I have resolved these issues. I also moved the BiasedLocking::preserve_marks()
since the previous change didn't preserve exactly the same behavior. And I added
a comment in a test that caused some issues when I was debugging this.
Testing: AdHoc run of the nightly GC tests, JPRT, and JTREG
I also made an incremental webrev based on the old patch applied to a fresh
version of the GC repo. Please note that the old patch do not apply cleanly to a
current GC repo, but the changes in the incremental diff should cover what has
been changed with regards to this RFE. Please refer to the full webrevs if in doubt.
Old (buggy) webrev: http://cr.openjdk.java.net/~jwilhelm/8055702/webrev.01/
For reference, as I mentioned above the original huge change was split into
several smaller parts. This is the first of those parts. The other can be found
Please note that these are the old patches that applies on top of the old
(buggy) patch above. They will not apply cleanly on top of the new patch. I'll
update these once the first part is finalized.
More information about the hotspot-gc-dev