Template site objects and WeakMap

Benjamin Gruenbaum inglor at gmail.com
Wed Jun 17 19:59:10 UTC 2015


> Interning of a particular immutable-objects-with-identity in an interning
table can still safely be weakly interned, by marking that object, at
interning time, so all WeakMaps from then on hold it strongly

Oh cool, I didn't realize that. That is pretty neat :)

On Wed, Jun 17, 2015 at 10:54 PM, Mark S. Miller <erights at google.com> wrote:

> The idea that (a shared Weak interning table of
> immutable-objects-with-identity + WeakMaps makes gc observable) is not new.
> The idea that (the shared interning tables of
> immutable-objects-with-identity must therefore be strong) is not new.
>
> What was new to me is the idea that
>
>     Interning of a particular immutable-objects-with-identity in an
> interning table can still safely be weakly interned, by marking that
> object, at interning time, so all WeakMaps from then on hold it strongly
>
> is new. At least to me.
>
>
>
>
> On Wed, Jun 17, 2015 at 10:19 AM, Benjamin Gruenbaum <inglor at gmail.com>
> wrote:
>
>> > congratulations and THANK YOU! I learned something important reading
>> your messages. The notion that we can preserve non-observability when
>> making one thing a WeakMap iff we make all other WeakMaps be strong for
>> those same objects is true, novel, and very surprising. I have been working
>> on such concepts for decades and never come across anything like it.
>>
>> I apologize, I understand the problem with a weak registry forcing
>> observable garbage collection in user code - that's nice but isn't this
>> always the case with references to objects when an object pool/flyweight is
>> used?
>>
>> Isn't this the same issue as `==` working on strings that have string
>> objects interned but possibly GC'd (and precisely why Java never collects
>> interned strings)?
>>
>>
>>
>
>
> --
>     Cheers,
>     --MarkM
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150617/9ce9dd90/attachment.html>


More information about the es-discuss mailing list