RFR(S) 8142436: [JVMCI] fix management of nmethod::_installed_code field
tom.rodriguez at oracle.com
Tue Nov 10 20:53:20 UTC 2015
nmethod::_installed_code maintains a link to the InstalledCode instance associated with an nmethod and will be cleared out once the InstalledCode reference is dead or when the nmethod becomes a zombie. Since G1 tracks which nmethods have references into a region, special care must be take when updating this field to avoid crashes. Barriers must be run with changing the value of this field, which wasn’t being done in maybe_invalidate_installed_code, so the clearing of that field was consolidated with barriers. There was also an extra copy of some special logic in do_unloading_parallel that was missing the barriers, which was deleted. Tested with Graal bootstrap running with G1 that would previously crash in G1 about 1 in 4 times.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev