On 02/17/2016 01:17 AM, Kim Barrett wrote:
On Feb 8, 2016, at 5:46 AM, Peter Levart <peter.lev...@gmail.com> wrote:
If special-casing in ReferenceHandler is removed then an opportunity opens to 
get rid of ReferenceHandler thread altogether. VM/GC could enqueue Reference(s) 
to their respective ReferenceQueue(s) directly, so everyone could enjoy the 
benefits sun.misc.Cleaner has…
I don't think that's likely.

That would require the VM/GC to acquire all the queue locks, and we
certainly wouldn't want to do that in a STW pause, so an intermediate
thread is kind of unavoidable.  [GC already needs to acquire the
pending list lock, for interaction with the reference queue thread.]

[Or change to lock-free enqueuing and wakeup of waiters, but I think
the current preference would be to avoid pulling even something like
that into a STW phase.]


Yeah, probably this would be to much to do in a STW pause. It's better to leave as much processing to a background thread as possible because it can be performed concurrently with application threads.

Regards, Peter

Reply via email to