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 <ing...@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
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss