<div dir="ltr">Please correct me Isiah/Steve - but I think the problem Steve is talking about is *cross-process* cycles. Without an inter-process protocol to express the referencing graph, or otherwise negotiate cycles for GC, you'll never have a way to reclaim them. Each side thinks the other side is still needing the resource.<div><br></div><div>Cheers</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 31 December 2016 at 13:48, Isiah Meadows <span dir="ltr"><<a href="mailto:isiahmeadows@gmail.com" target="_blank">isiahmeadows@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For my particular case, yes it is. Everything mirrored have globally<br>
unique IDs assigned to them, managed independently of the child<br>
process (in most cases), and the state is tied to the ID, not the<br>
value, so I only need a weak reference to clear the backing ID and its<br>
associated state. And reference cycles within the process are<br>
mitigated by the existing mark-and-sweep derivatives engines already<br>
use.<br>
-----<br>
<br>
Isiah Meadows<br>
<a href="mailto:me@isiahmeadows.com">me@isiahmeadows.com</a><br>
<div><div class="h5"><br>
<br>
On Tue, Dec 27, 2016 at 4:34 PM, Steve Fink <<a href="mailto:sphink@gmail.com">sphink@gmail.com</a>> wrote:<br>
> On 12/27/2016 04:45 AM, Isiah Meadows wrote:<br>
><br>
> The weak reference proposal hasn't seen a lot of activity, and I haven't<br>
> found much news elsewhere on it. What's the status on it?<br>
><br>
> Where I'm building a language-integrated process pool in Node.js, complete<br>
> with shared "references" and async iterator support, I really badly need<br>
> weak references to avoid otherwise inevitable memory leaks across multiple<br>
> processes if the references aren't explicitly released. So far, my only<br>
> option is to take a native dependency (I have no other dependencies), but<br>
> that's very suboptimal, and it eliminates the possibility of porting to<br>
> browsers. So I really badly need language-level weak references.<br>
><br>
><br>
> Would weak references be enough to solve cross-process garbage collection?<br>
> How would you recover a cycle of references among your processes?<br>
><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> es-discuss mailing list<br>
> <a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
> <a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/<wbr>listinfo/es-discuss</a><br>
><br>
______________________________<wbr>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/<wbr>listinfo/es-discuss</a><br>
</blockquote></div><br></div>