[8u60] Backport for 8058354: SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b2
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Apr 13 09:59:08 UTC 2015
Hi all,
can I have reviews for the backport of "8058354: SPECjvm2008-Derby
-2.7% performance regression on Solaris-X64 starting with 9-b29" for
8u60?
It did only apply with some changes, so I need re-reviews. There are two
issues:
- jdk9 removed one parameter of ReservedSpace::initialize(), namely the
"noaccess_prefix" one. Jdk8 still has that one, so there has been a
merge error in ReservedSpace::ReservedSpace(size_t, bool).
- g1PageBasedVirtualSpace.cpp uses the vmassert() macro not backported.
I had to change everything to use the regular assert macro.
- in G1PageBasedVirtualSpace::commit() the call to os::pretouch_memory()
has been different to jdk9 because the related change had been
backported out of order with another change.
I.e. the original code right now in 8u uses
161 if (AlwaysPreTouch) {
162 os::pretouch_memory(page_start(start), page_start(start) + byte_size_for_pages(size_in_pages));
163 }
In JDK9 the code has been
214 if (AlwaysPreTouch) {
215 os::pretouch_memory(page_start(start), page_start(end));
216 }
With this change the code in 8u60 and 9 will be aligned again.
CR:
https://bugs.openjdk.java.net/browse/JDK-8058354
Full webrev:
http://cr.openjdk.java.net/~tschatzl/8058354-8u60/webrev.8u60/
Diff webrev (with the merge changes):
http://cr.openjdk.java.net/~tschatzl/8058354-8u60/webrev.8u60-fix/
Testing:
jprt
This change is based on the backport for JDK-8066875 that has
been reviewed just recently.
With this change (and the follow-up bugfix 8077255 that applies
cleanly) all backports in this long dependency chain are done. Thanks
everyone for participating.
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list