RFR: 8219708: Stop flushing OSR nmethods earlier in the sweeper
tobias.hartmann at oracle.com
Tue Feb 26 10:18:51 UTC 2019
On 26.02.19 10:17, Nils Eliasson wrote:
> Hi Erik,
> Looks great!
> // Nils
> On 2019-02-26 09:10, Erik Österlund wrote:
>> 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.
More information about the hotspot-compiler-dev