Do not write to an unmarked object when freeing its monitor.
Previously, the monitor sweep routine cleared the lock word of every
unmarked object with an inflated lock to ensure than an errant code
would not observe a dangling pointer. It is not clear this has bought
us much safety or debuggability. In the mean time, the process of
freeing an object did not always require the object itself to be
touched. Removing this write removes an opportunity for a cache miss
during the final pause of a GC.
Change-Id: I85928b73356d6a9b6c51f7dafc4657ace1c94335
1 file changed