diff --git a/spec.html b/spec.html index 5c8e553a78..23c168ada4 100644 --- a/spec.html +++ b/spec.html @@ -11466,6 +11466,17 @@

Realms

Meaning + + + [[AgentSignifier]] + + + an agent signifier + + + The agent that owns this realm + + [[Intrinsics]] @@ -11546,6 +11557,7 @@

CreateRealm ( ): a Realm Record

1. Let _realmRec_ be a new Realm Record. 1. Perform CreateIntrinsics(_realmRec_). + 1. Set _realmRec_.[[AgentSignifier]] to AgentSignifier(). 1. Set _realmRec_.[[GlobalObject]] to *undefined*. 1. Set _realmRec_.[[GlobalEnv]] to *undefined*. 1. Set _realmRec_.[[TemplateMap]] to a new empty List. @@ -12003,11 +12015,11 @@

InitializeHostDefinedRealm ( ): either a normal completion containing ~unuse

Agents

An agent comprises a set of ECMAScript execution contexts, an execution context stack, a running execution context, an Agent Record, and an executing thread. Except for the executing thread, the constituents of an agent belong exclusively to that agent.

-

An agent's executing thread executes a job on the agent's execution contexts independently of other agents, except that an executing thread may be used as the executing thread by multiple agents, provided none of the agents sharing the thread have an Agent Record whose [[CanBlock]] field is *true*.

+

An agent's executing thread executes algorithmic steps on the agent's execution contexts independently of other agents, except that an executing thread may be used as the executing thread by multiple agents, provided none of the agents sharing the thread have an Agent Record whose [[CanBlock]] field is *true*.

Some web browsers share a single executing thread across multiple unrelated tabs of a browser window, for example.

-

While an agent's executing thread executes jobs, the agent is the surrounding agent for the code in those jobs. The code uses the surrounding agent to access the specification-level execution objects held within the agent: the running execution context, the execution context stack, and the Agent Record's fields.

+

While an agent's executing thread is executing algorithmic steps, the agent is the surrounding agent for those steps. The steps use the surrounding agent to access the specification-level execution objects held within the agent: the running execution context, the execution context stack, and the Agent Record's fields.

An agent signifier is a globally-unique opaque value used to identify an Agent.