[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