RFR: 8219708: Stop flushing OSR nmethods earlier in the sweeper
Nils Eliasson
nils.eliasson at oracle.com
Tue Feb 26 09:17:13 UTC 2019
Hi Erik,
Looks great!
// Nils
On 2019-02-26 09:10, Erik Österlund wrote:
> Hi,
>
> The sweeper has an optimization that makes the lifecycle of nmethods
> more complicated than it needs to be.
> It recognizes that no inline caches point at OSR nmethods, and uses
> that knowledge to reclaim OSR nmethods more aggressively than normal
> nmethods. It assumes that it is okay to flush unloded nmethods, and
> nmethods we just made zombie immediately. But if the nmethod is
> locked, it needs to wait anyway.
>
> There have been multiple bugs due to this special life cycle of OSR
> nmethods, and it is simply not worth it. It also blocks concurrent
> ICStub reclamation, which requires the more robust life cycle.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8219708
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8219708/webrev.00/
>
> Thanks,
> /Erik
More information about the hotspot-compiler-dev
mailing list