Could I present another example where WeakRef are required.

I am writing an object management layer similar to what exist in other language 
and systems. One of the requirement is uniquing so that each object exist only 
once in memory. Let say I retrieve a company and its employees and later 
retrieve a company project and its participants. I need the members of the 
employee list and the members of the participant list to point to the same 
objects. The other requirement is not to leak, if an object is only accessible 
from within the management layer it should be candidate for garbage collection.

With the current ECMAScript I have multiple problem implementing this. Each 
object has a unique identifier (UUID) but as strings cannot be used as keys in 
WeakMap I have to keep a reference to objects in a regular Map. This causes a 
major leak… In order to plug it we have to rely on the user notifying the 
management layer for checkin/checkout of objects doing ref counting. This is 
clumsy. I had a similar design working with WeafRef in Java with no constrains 
on the user. Why could we not do this with JS?

WeakRef would solve this issue quite naturally. I understand that this would 
make GC observable and there is a security concern. We should however strike a 
balance between usability and security. I am no security expert but it looks to 
me that in this case we could tilt the balance a little more in favour of 
usability.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to