RFR: 8219708: Stop flushing OSR nmethods earlier in the sweeper

Tobias Hartmann tobias.hartmann at oracle.com
Tue Feb 26 10:18:51 UTC 2019


Best regards,

On 26.02.19 10:17, Nils Eliasson wrote:
> 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