Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Environment settings object in the microtask checkpoint #8130

Closed
dSalieri opened this issue Jul 25, 2022 · 6 comments
Closed

Environment settings object in the microtask checkpoint #8130

dSalieri opened this issue Jul 25, 2022 · 6 comments

Comments

@dSalieri
Copy link

Perform a microtask checkpoint

  1. For each environment settings object whose responsible event loop is this event loop, notify about rejected promises on that environment settings object.

There are no words about where you should take environment settings objects from. Any clarification?

@pshaughn
Copy link
Contributor

I might be misunderstanding the question, and I apologize if this is irrelevant or already obvious:

The spec has "An environment settings object's responsible event loop is its global object's relevant agent's event loop" which would imply looking from the event loop to the relevant agent, then from there to the global object(s), and then from there to the environment settings object(s). Each of these steps is an association that's already existent in the spec in some way, but this phrasing seems to expect the implementor to look "upstream" along links that are only specified concretely in the other direction.

One key piece here is the "relevant agent", which has a note on its definition "This pointer is not yet defined in the JavaScript specification; see tc39/ecma262#1357". If that issue is correct, then at least one step, getting from the agent to the global object(s), depends on a slot that isn't yet specified.

@dSalieri
Copy link
Author

dSalieri commented Jul 25, 2022

@pshaughn I don't ask how to define relevant event loop, I ask about source of the environment settings objects. The spec doesn't specify concrete source for the environment settings objects instead this it refers to its definition. The point is that I don't understand where I should take environment settings objects from, I mean source or sources. What manages by environment settings objects (for example an agent has the event loop or for example the event loop has a currently running task)? I think you understand my intention.

@domenic
Copy link
Member

domenic commented Jul 26, 2022

It's pretty clear: for each ESO whose responsible event loop is this event loop. So... for every ESO, if it's responsible event loop = this event loop, perform those steps.

@domenic domenic closed this as completed Jul 26, 2022
@dSalieri
Copy link
Author

dSalieri commented Jul 26, 2022

@domenic You've explained determination of the event loop. But I want understand what is owner of the ESO, because spec in that step doesn't say.

@domenic
Copy link
Member

domenic commented Jul 26, 2022

There is no owner.

@dSalieri
Copy link
Author

dSalieri commented Jul 26, 2022

@domenic that means I should looking for the ESO for the relevant event loop any available to me way. Doesn't it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants