[concurrency-interest] Is Reference.reachabilityFence() needed in Reference constructor? (original) (raw)

Andrew Haley aph at redhat.com
Wed Oct 21 13:28:09 UTC 2015


On 10/21/2015 01:34 PM, Peter Levart wrote:

Is it possible that the newly constructed Object is found weakly-reachable before the 'queue' is assigned to the Reference.queue field or is there something in the JVM that prevents this happening (like all the constructor parameters are reachable at least until the constructor is finished)?

No, there's nothing like that.

I think you're right: from the point where the reference is assigned to the referent field of the WeakReference it is only reachable by traversing a weak reference, therefore it is weakly reachable.

Adding the reachabilityFence would not hurt anything, and if it did make a difference to generated code it'd eliminate a bug.

There may be a few more of these.

Andrew.



More information about the core-libs-dev mailing list