RFR (L): 8058354: SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29

Thomas Schatzl thomas.schatzl at oracle.com
Thu Mar 26 15:11:28 UTC 2015


Hi again,

On Thu, 2015-03-26 at 09:47 +0100, Thomas Schatzl wrote:
> Hi Jon,
> 
> On Wed, 2015-03-25 at 20:47 -0700, Jon Masamitsu wrote:
> > Thomas,
> > 
> > Haven't gotten very far but let me send you one question.
> > 
> > http://cr.openjdk.java.net/~tschatzl/8058354/webrev.2_to_3/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp.frames.html
> > 
> > >   157 void G1PageBasedVirtualSpace::commit_tail() {
> > >   158   char* const aligned_end_address = (char*)align_ptr_down(_high_boundary, _page_size);
> > >   159   size_t const tail_size = pointer_delta(_high_boundary, aligned_end_address, sizeof(char));
> > 
> > Should there be a check that tail_size is not 0 before attempting to 
> > commit it?
> 
>   commit_tail() can only be called if is_last_page_partial() is true,
> i.e. tail_size > 0. I can add an assert for that.

Here's a change with that assert added.

Full webrev:
http://cr.openjdk.java.net/~tschatzl/8058354/webrev.4/
Diff:
http://cr.openjdk.java.net/~tschatzl/8058354/webrev.3_to_4/
top-level changes:
http://cr.openjdk.java.net/~tschatzl/8058354/webrev.hs-gc.1/ (there were
no changes in it for months, just for completeness)

Testing: another jprt round

Thanks a lot,
  Thomas





More information about the hotspot-gc-dev mailing list