On Apr 17, 2010, at 12:06 AM, David Herman wrote:

A Name object that is required to be a leaf in the live object graph has the advantage that it can be strongly referenced by the implementation when used as a property name (key), without reference cycles being possible. Implementations would be able to count on this property. We could choose to specify Names this way, and the current spec seems to lean this way.


Good points. Correct me if I'm wrong, but it also seems an implementation could be free to GC object slots for unreachable leaf- name-keys.

Yes, this would make for a superior implementation ;-). But is it the spec's business to mandate it, or specify much at all about GC? I think not, obviously; you may agree. Just calling out the issue of under-specification here.


IOW, being a property-key does not imply reachability. (For strings this is obviously not true, since they are forgeable.)

Right, which is why Mark's EphemeronTable implementation works for Names.

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to