[9] RFR (XS): C2: continuous CallSite relinkage eventually disables compilation for a method

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Thu Jan 26 16:47:55 UTC 2017


http://cr.openjdk.java.net/~vlivanov/8173338/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8173338

The fix for JDK-7177745 disabled deoptimization count update when it 
happens due to CallSite.target change.

There was one case missed though: the count is still updated when 
compilation fails due to a dependency becoming invalid during the 
compilation.

The fix is to avoid the update when recompilation fails due to 
call_site_target dependency failure.

Also, added a check in CodeCache::make_marked_nmethods_not_entrant() to 
avoid repeated nmethod::make_not_entrant() calls on nmethods which are 
already not entrant. Otherwise, the check is performed under 
Patching_lock inside nmethod::make_not_entrant_or_zombie() for every 
non-entrant method in the code cache.

Testing: regression test, RBT (in progress)

Thanks!

Best regards,
Vladimir Ivanov


More information about the hotspot-compiler-dev mailing list