Details
Description
An nmethod goes from being is_alive() to being !is_alive() and eventually being freed in nmethod::flush. Native structures for nmethods are freed in nmethod::flush when we free the nmethod. Except for a few things, including GC data. This enhancement proposes to fix that to make the life cycle of nmethods and their native data more intuitive.