RFR (XXL) [7u60]: nmethod backports (12 backports)

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jan 23 16:43:45 UTC 2014


Hi,

  thanks for your review :)

On Tue, 2014-01-21 at 20:04 -0800, Vladimir Kozlov wrote:
> Thomas,
> 
> Based on your tests list you sent I thinks you get good test coverage. 
> Thanks!
> 
> I compared compared these changes with jdk8 changes.
> 
> c1_Runtime1.cpp: missed {} parenthesis.

Fixed.

> 
> nmethod.cpp: nmethod::oops_do() changes. The only place where 
> do_strong_roots_only was passed as 'true' was in 
> do_newly_marked_nmethod(). But you changed it to 'false':
> 
>   void CodeBlobToOopClosure::do_newly_marked_nmethod(nmethod* nm) {
> -  nm->oops_do(_cl, /*do_strong_roots_only=*/ true);
> +  nm->oops_do(_cl, /*do_strong_roots_only=*/ false, /*allow_zombie=*/ 
> false);
>   }
> 
> Does it make sense to keep the argument?

This is a bug actually, the second parameter should read true. It's a
performance issue though only, so it went undetected so far. It prevents
some unloading. Thanks for finding this!

I fixed both issues in
http://cr.openjdk.java.net/~tschatzl/nmethod-backport/2/ , or
http://cr.openjdk.java.net/~tschatzl/nmethod-backport/2/webrev.05-7145569 (direct link to webrev). No other changes.

Ad-hoc testing (including bigapps, e.g. kitchensink, weblogic, runthese
30mins) is currently running, with 90% complete and no issues so far (g1
product/debug, and default collector with product/debug builds). I do
not expect any surprises here.

The previous build also passed 24h kitchensink on all tested platforms
(only did a few, not all) with both collectors.

Thanks a lot,
  Thomas





More information about the hotspot-gc-dev mailing list