<p dir="ltr">One can look at reachabilityFence in same light as requesting gc or finalization, both of which live in Runtime.</p>
<p dir="ltr">sent from my phone</p>
<div class="gmail_quote">On Nov 24, 2015 7:54 AM, "David Holmes" <<a href="mailto:david.holmes@oracle.com">david.holmes@oracle.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 24/11/2015 7:32 PM, Paul Sandoz wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 24 Nov 2015, at 01:31, <a href="mailto:mark.reinhold@oracle.com" target="_blank">mark.reinhold@oracle.com</a> wrote:<br>
<br>
2015/11/23 8:38 -0800, <a href="mailto:paul.sandoz@oracle.com" target="_blank">paul.sandoz@oracle.com</a>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Please review the addition of Reference.reachabilityFence contributed<br>
by Aleksey, Doug and myself:<br>
<br>
  <a href="http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-jdk/webrev/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-jdk/webrev/</a><br>
  <a href="http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-hotspot/webrev/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-hotspot/webrev/</a><br>
</blockquote>
<br>
This seems eminently reasonable, but why does it belong in the<br>
java.lang.ref.Reference class?  It has nothing (directly) to do<br>
with reference objects.<br>
<br>
java.lang.Runtime, perhaps?<br>
<br>
</blockquote>
<br>
Out of all the places i thought Reference was the least indirect. The method documentation refers to the notion of "strongly reachable” in the j.l.ref package doc (I should update to link directly to that). In effect it’s an operation on potential referents that relates to reachability, garbage collection and finalization.<br>
<br>
A further weaker argument is Reference is not commonly used thus there may be less chance of this method being misused.<br>
<br>
I do prefer the current location, but i don’t strongly object to moving it to Runtime.<br>
</blockquote>
<br>
As all Runtime methods are instance methods the usage here would be a bit awkward. Personally I thought reference was a very suitable location for a reachability-related method.<br>
<br>
Cheers,<br>
David<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Paul.<br>
<br>
<br>
<br>
</blockquote>
</blockquote></div>