#321: JavaScript WeakRefs

Visit on Github.

Opened Nov 6, 2018

こんにちはTAG!

I'm requesting a TAG review of:

Further details (optional):

You should also know that...

The proposal champions as well as TC39 overall, are well aware of the concerns that exposing GC timing information raises. The proposal is carefully designed to mitigate these issues by reducing the amount of information exposed, as well as the bandwidth with which it is exposed. In particular, the proposal contains mitigations against slight differences in GC timing breaking code. The champions as well as TC39 overall are confident that these mitigations are sufficient to prevent reduced interoperability and constraints on changes to engines' GC implementations.

We're particularly interested in the TAGs opinion on how the introduction of WeakRefs should influence the design of other web APIs, and what kinds of support for interop on the spec level the Ecma262 spec should provide.

Finally, note that while the crucial aspects of the proposal's semantics can be considered final, the API will change between now and January 2019, when we hope to advance it to stage 3. We don't expect these changes to impact other specifications, however.

We'd prefer the TAG provide feedback as (please select one):

  • open issues in our Github repo for each point of feedback
  • open a single issue in our Github repo for the entire review
  • leave review feedback as a comment in this issue and @-notify [github usernames]

Please preview the issue and check that the links work before submitting

For background, see our explanation of how to write a good explainer.

Discussions

2019-02-26

Minutes

Alice: i took a look at this - the big PDF. last we heard is that the PDF is stale and needs and update.

Peter: LittleDan's comment about not exposing GC - do we have feelings about that?

Alice: Perhaps we should ask whether the new API (referred to in an issue comment which littledan linked to from the review request) is ready for feedback?

Kenneth: other specs also expose GC

Sanwgan: clearly they haven't looked at our design principles doc ... ... for this particular case it's exposing necessary mechanism ... explicitly exposing GC or by accident seems to be the thing we're aagainst.

Alex: it's whether or not .. if you read the value out of an object you will continue to perceive it. That's the bar we've tried to defend. Problem with WebAudio api prior to atomics and shared array buffers... always a case that if you posted another task and came back later ... question is here: does this violate consistency. I think answer is no. - but needs formal analysis.

Peter: anything more?

Alice: I'll update the issue.

Peter: GC observability - should that be caputred in the design guidelines document?

Alex: I think it's worth it.

Peter: There is an issue filed - issue 100 https://github.com/w3ctag/design-principles/issues/100

Peter: 2 weeks? 3 weeks?

Alice: nothing has happened since f2f - so

Peter: 2 weeks

2019-03-12

Minutes

Alice: they agreed it's not really ready for another look. I asked if it's ready for feedback. They have said not ready yet.

David: other option is to move milestone to next f2f.

[decidion to close it for now with a comment asking them to file a new issue or ping us to reopen

2019-06-19

Minutes

Kenneth: Gave a bunch of feedback, they changed the explainer and filed an issue about the name. Seems like our work is done here.

Dan: Think we can close it?

Kenneth: Yeah, it's starting to ship as well.

Dan: Consensus on closing issue?

Kenneth: thanks for flying TAG!

Dan: is very excited

Dan: Can you add the happy label? We reduced entropy in the universe.