Observable GC

Filip Pizlo fpizlo at apple.com
Fri Oct 20 14:54:13 UTC 2017



> On Oct 20, 2017, at 7:45 AM, Mike Samuel <mikesamuel at gmail.com> wrote:
> 
>> On Fri, Oct 20, 2017 at 10:33 AM, Filip Pizlo <fpizlo at apple.com> wrote:
>> For what it’s worth, I have never agreed with this policy. This policy seems
>> to be based on feelings not facts.
>> 
>> I remember implementing real time GCs for Java, which changed GC timing and
>> behavior a lot, and having zero problem getting that aspect of the GC to
>> work well with existing code. It seems like we are using non-problems to
>> make excuses to avoid supporting something useful.
>> 
>> In fact, WeakMap is more restrictive constraint on GC algo than weak refs or
>> finalization or whatever, since it means that a Siebert-style fine-grained
>> incremental GC with O(1) increments is off the table.
> 
> I'm not familiar with Siebert GCs so I apologize if this is beside
> your point.   My recollection of those discussions was that we
> rejected weak refs in favor of ephemerons because weak references are
> still prone to uncollectible cycles that involve a weakly referenced
> object being used as both a key and a value.

It’s better to have both. Some use cases are not covered by WeakMap, as evidenced by the fact that people still ask for weak refs or a gc trigger or notification. 

-Filip



More information about the es-discuss mailing list