[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

It did only apply with some changes, so I need re-reviews. There are two

- 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.

Full webrev:
Diff webrev (with the merge changes):


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.


More information about the hotspot-gc-dev mailing list