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

Jon Masamitsu jon.masamitsu at oracle.com
Thu Mar 26 03:47:16 UTC 2015


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?

Jon


On 3/18/2015 6:05 AM, Thomas Schatzl wrote:
> Hi all,
>
>    I got a few more internal reviews and suggestions for this change, so
> I would like to ask for re-reviews.
>
> http://cr.openjdk.java.net/~tschatzl/8058354/webrev.3/ (full)
> http://cr.openjdk.java.net/~tschatzl/8058354/webrev.2_to_3/ (diff)
>
> Changes:
>
> - changed " SIZE_FORMAT" strings in gclog_or_tty->print_cr() format
> strings to " SIZE_FORMAT " since this is the correct style.
>
> - moved setup of reserved space with the requirements we have to the
> ReservedSpace constructor.
>
> - improve readability: in G1PageBasedVirtualSpace: renamings of
> "actual_size" -> "used_size" parameter, _commit_size -> _page_size
> member
>
> - G1PageBasedVirtualSpace: changed uintptr_t parameter types to more
> fitting size_t
>
> - some refactorings, extracting a few methods to make control flow more
> clear
>
> Testing:
> jprt, aurora
>
> Thanks,
>    Thomas
>
>




More information about the hotspot-gc-dev mailing list