{"action":"created","comment":{"url":"https://api.github.com/repos/tc39/ecma262/pulls/comments/296457642","pull_request_review_id":253108451,"id":296457642,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI5NjQ1NzY0Mg==","diff_hunk":"@@ -6419,135 +6419,31 @@ <h1>GetGlobalObject ( )</h1>\n   </emu-clause>\n \n   <emu-clause id=\"sec-jobs-and-job-queues\">\n-    <h1>Jobs and Job Queues</h1>\n-    <p>A Job is an abstract operation that initiates an ECMAScript computation when no other ECMAScript computation is currently in progress. A Job abstract operation may be defined to accept an arbitrary set of job parameters.</p>\n-    <p>Execution of a Job can be initiated only when there is no running execution context and the execution context stack is empty. A PendingJob is a request for the future execution of a Job. A PendingJob is an internal Record whose fields are specified in <emu-xref href=\"#table-25\"></emu-xref>. Once execution of a Job is initiated, the Job always executes to completion. No other Job may be initiated until the currently running Job completes. However, the currently running Job or external events may cause the enqueuing of additional PendingJobs that may be initiated sometime after completion of the currently running Job.</p>\n-    <emu-table id=\"table-25\" caption=\"PendingJob Record Fields\">\n-      <table>\n-        <tbody>\n-        <tr>\n-          <th>\n-            Field Name\n-          </th>\n-          <th>\n-            Value\n-          </th>\n-          <th>\n-            Meaning\n-          </th>\n-        </tr>\n-        <tr>\n-          <td>\n-            [[Job]]\n-          </td>\n-          <td>\n-            The name of a Job abstract operation\n-          </td>\n-          <td>\n-            This is the abstract operation that is performed when execution of this PendingJob is initiated.\n-          </td>\n-        </tr>\n-        <tr>\n-          <td>\n-            [[Arguments]]\n-          </td>\n-          <td>\n-            A List\n-          </td>\n-          <td>\n-            The List of argument values that are to be passed to [[Job]] when it is activated.\n-          </td>\n-        </tr>\n-        <tr>\n-          <td>\n-            [[Realm]]\n-          </td>\n-          <td>\n-            A Realm Record\n-          </td>\n-          <td>\n-            The Realm Record for the initial execution context when this PendingJob is initiated.\n-          </td>\n-        </tr>\n-        <tr>\n-          <td>\n-            [[ScriptOrModule]]\n-          </td>\n-          <td>\n-            A Script Record or Module Record\n-          </td>\n-          <td>\n-            The script or module for the initial execution context when this PendingJob is initiated.\n-          </td>\n-        </tr>\n-        <tr>\n-          <td>\n-            [[HostDefined]]\n-          </td>\n-          <td>\n-            Any, default value is *undefined*.\n-          </td>\n-          <td>\n-            Field reserved for use by host environments that need to associate additional information with a pending Job.\n-          </td>\n-        </tr>\n-        </tbody>\n-      </table>\n-    </emu-table>\n-    <p>A Job Queue is a FIFO queue of PendingJob records. Each Job Queue has a name and the full set of available Job Queues are defined by an ECMAScript implementation. Every ECMAScript implementation has at least the Job Queues defined in <emu-xref href=\"#table-26\"></emu-xref>.</p>\n-    <p>Each agent has its own set of named Job Queues.  All references to a named job queue in this specification denote the named job queue of the surrounding agent.</p>\n-    <emu-table id=\"table-26\" caption=\"Required Job Queues\">\n-      <table>\n-        <tbody>\n-        <tr>\n-          <th>\n-            Name\n-          </th>\n-          <th>\n-            Purpose\n-          </th>\n-        </tr>\n-        <tr>\n-          <td>\n-            ScriptJobs\n-          </td>\n-          <td>\n-            Jobs that validate and evaluate ECMAScript |Script| and |Module| source text. See clauses 10 and 15.\n-          </td>\n-        </tr>\n-        <tr>\n-          <td>\n-            PromiseJobs\n-          </td>\n-          <td>\n-            Jobs that are responses to the settlement of a Promise (see <emu-xref href=\"#sec-promise-objects\"></emu-xref>).\n-          </td>\n-        </tr>\n-        </tbody>\n-      </table>\n-    </emu-table>\n-    <p>A request for the future execution of a Job is made by enqueueing, on a Job Queue, a PendingJob record that includes a Job abstract operation name and any necessary argument values. When there is no running execution context and the execution context stack is empty, the ECMAScript implementation removes the first PendingJob from a Job Queue and uses the information contained in it to create an execution context and starts execution of the associated Job abstract operation.</p>\n-    <p>The PendingJob records from a single Job Queue are always initiated in FIFO order. This specification does not define the order in which multiple Job Queues are serviced. An ECMAScript implementation may interweave the FIFO evaluation of the PendingJob records of a Job Queue with the evaluation of the PendingJob records of one or more other Job Queues. An implementation must define what occurs when there are no running execution context and all Job Queues are empty.</p>\n-    <emu-note>\n-      <p>Typically an ECMAScript implementation will have its Job Queues pre-initialized with at least one PendingJob and one of those Jobs will be the first to be executed. An implementation might choose to free all resources and terminate if the current Job completes and all Job Queues are empty. Alternatively, it might choose to wait for a some implementation specific agent or mechanism to enqueue new PendingJob requests.</p>\n-    </emu-note>\n-    <p>The following abstract operations are used to create and manage Jobs and Job Queues:</p>\n+    <h1>Jobs and Host Operations to Enqueue Jobs</h1>\n+    <p>A <dfn>Job</dfn> is an abstract operation that initiates an ECMAScript computation when no other ECMAScript computation is currently in progress. A Job abstract operation may be defined to accept an arbitrary set of job parameters.</p>\n \n-    <emu-clause id=\"sec-enqueuejob\" aoid=\"EnqueueJob\">\n-      <h1>EnqueueJob ( _queueName_, _job_, _arguments_ )</h1>\n-      <p>The EnqueueJob abstract operation requires three arguments: _queueName_, _job_, and _arguments_. It performs the following steps:</p>\n-      <emu-alg>\n-        1. Assert: Type(_queueName_) is String and its value is the name of a Job Queue recognized by this implementation.\n-        1. Assert: _job_ is the name of a Job.\n-        1. Assert: _arguments_ is a List that has the same number of elements as the number of parameters required by _job_.\n-        1. Let _callerContext_ be the running execution context.\n-        1. Let _callerRealm_ be _callerContext_'s Realm.\n-        1. Let _callerScriptOrModule_ be _callerContext_'s ScriptOrModule.\n-        1. Let _pending_ be PendingJob { [[Job]]: _job_, [[Arguments]]: _arguments_, [[Realm]]: _callerRealm_, [[ScriptOrModule]]: _callerScriptOrModule_, [[HostDefined]]: *undefined* }.\n-        1. Perform any implementation or host environment defined processing of _pending_. This may include modifying the [[HostDefined]] field or any other field of _pending_.\n-        1. Add _pending_ at the back of the Job Queue named by _queueName_.\n-        1. Return NormalCompletion(~empty~).\n-      </emu-alg>\n+    <p>Jobs are scheduled for execution by ECMAScript host environments with abstract operations such as HostEnqueuePromiseJob. Such operations accept two parameters: _job_, an abstract operation, and _arguments_, a list of ECMAScript values. These abstract operations schedule _job_ to be performed with _arguments_ at some future time. Their implementations must conform to the following requirements:</p>\n+\n+    <ul>\n+      <li>At some future point in time, when there is no running execution context and the execution context stack is empty, the implementation must:","path":"spec.html","position":138,"original_position":138,"commit_id":"5a0d85003e92cd9a1c961b6ef43e373d75284d39","original_commit_id":"5a0d85003e92cd9a1c961b6ef43e373d75284d39","user":{"login":"jmdyck","id":4344001,"node_id":"MDQ6VXNlcjQzNDQwMDE=","avatar_url":"https://avatars0.githubusercontent.com/u/4344001?v=4","gravatar_id":"","url":"https://api.github.com/users/jmdyck","html_url":"https://github.com/jmdyck","followers_url":"https://api.github.com/users/jmdyck/followers","following_url":"https://api.github.com/users/jmdyck/following{/other_user}","gists_url":"https://api.github.com/users/jmdyck/gists{/gist_id}","starred_url":"https://api.github.com/users/jmdyck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmdyck/subscriptions","organizations_url":"https://api.github.com/users/jmdyck/orgs","repos_url":"https://api.github.com/users/jmdyck/repos","events_url":"https://api.github.com/users/jmdyck/events{/privacy}","received_events_url":"https://api.github.com/users/jmdyck/received_events","type":"User","site_admin":false},"body":"Since the preamble to this `<ul>` ends with \"Their implementations must conform to the following requirements:\", it's tempting to think that \"the implementation\" here refers to the same thing, i.e. the (host's) implementation of a job-enqueing operation. But it could also mean what it usually means elsewhere in the spec (roughly, the ECMAScript engine).\r\n\r\nBut neither option entirely makes sense to me.\r\n- The implementation of a job-enqueuing operation is basically just \"append this job to a queue\". What happens when the jobs *runs* isn't the responsibility of the enqueuing operation.\r\n- If it's the ECMAScript engine doing the following steps (which, by itself, seems to make sense), how does the job get from a host-maintained queue to the engine? It seems like there needs to be a `RunJob` operation that the host can call to get the engine to do this.","created_at":"2019-06-22T21:19:10Z","updated_at":"2019-06-22T21:19:10Z","html_url":"https://github.com/tc39/ecma262/pull/1597#discussion_r296457642","pull_request_url":"https://api.github.com/repos/tc39/ecma262/pulls/1597","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/comments/296457642"},"html":{"href":"https://github.com/tc39/ecma262/pull/1597#discussion_r296457642"},"pull_request":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/1597"}}},"pull_request":{"url":"https://api.github.com/repos/tc39/ecma262/pulls/1597","id":290237851,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwMjM3ODUx","html_url":"https://github.com/tc39/ecma262/pull/1597","diff_url":"https://github.com/tc39/ecma262/pull/1597.diff","patch_url":"https://github.com/tc39/ecma262/pull/1597.patch","issue_url":"https://api.github.com/repos/tc39/ecma262/issues/1597","number":1597,"state":"open","locked":false,"title":"Layering: Allow hosts to cleanly specify Promise Job semantics","user":{"login":"littledan","id":189835,"node_id":"MDQ6VXNlcjE4OTgzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/189835?v=4","gravatar_id":"","url":"https://api.github.com/users/littledan","html_url":"https://github.com/littledan","followers_url":"https://api.github.com/users/littledan/followers","following_url":"https://api.github.com/users/littledan/following{/other_user}","gists_url":"https://api.github.com/users/littledan/gists{/gist_id}","starred_url":"https://api.github.com/users/littledan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/littledan/subscriptions","organizations_url":"https://api.github.com/users/littledan/orgs","repos_url":"https://api.github.com/users/littledan/repos","events_url":"https://api.github.com/users/littledan/events{/privacy}","received_events_url":"https://api.github.com/users/littledan/received_events","type":"User","site_admin":false},"body":"Replace the EnqueueJob abstract operation with a HostEnqueuePromiseJob operation, responsible for asking the host to schedule the PromiseJob, and run it in a way that preserves the run-to-completion nature of JavaScript. As it is a host hook and not an algorithm, the invariants are specified declaratively, rather than imperatively as previously.\r\n\r\nThis PR implements the conclusion of the discussion in the June 2019 TC39 discussion on Promise scheduling and host layering.\r\n\r\nReplaces #735 \r\n\r\ncc @erights\r\n","created_at":"2019-06-20T14:18:13Z","updated_at":"2019-06-22T21:19:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/tc39/ecma262/pulls/1597/commits","review_comments_url":"https://api.github.com/repos/tc39/ecma262/pulls/1597/comments","review_comment_url":"https://api.github.com/repos/tc39/ecma262/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tc39/ecma262/issues/1597/comments","statuses_url":"https://api.github.com/repos/tc39/ecma262/statuses/5a0d85003e92cd9a1c961b6ef43e373d75284d39","head":{"label":"littledan:enqueue-promise-job","ref":"enqueue-promise-job","sha":"5a0d85003e92cd9a1c961b6ef43e373d75284d39","user":{"login":"littledan","id":189835,"node_id":"MDQ6VXNlcjE4OTgzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/189835?v=4","gravatar_id":"","url":"https://api.github.com/users/littledan","html_url":"https://github.com/littledan","followers_url":"https://api.github.com/users/littledan/followers","following_url":"https://api.github.com/users/littledan/following{/other_user}","gists_url":"https://api.github.com/users/littledan/gists{/gist_id}","starred_url":"https://api.github.com/users/littledan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/littledan/subscriptions","organizations_url":"https://api.github.com/users/littledan/orgs","repos_url":"https://api.github.com/users/littledan/repos","events_url":"https://api.github.com/users/littledan/events{/privacy}","received_events_url":"https://api.github.com/users/littledan/received_events","type":"User","site_admin":false},"repo":{"id":39974983,"node_id":"MDEwOlJlcG9zaXRvcnkzOTk3NDk4Mw==","name":"ecma262","full_name":"littledan/ecma262","private":false,"owner":{"login":"littledan","id":189835,"node_id":"MDQ6VXNlcjE4OTgzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/189835?v=4","gravatar_id":"","url":"https://api.github.com/users/littledan","html_url":"https://github.com/littledan","followers_url":"https://api.github.com/users/littledan/followers","following_url":"https://api.github.com/users/littledan/following{/other_user}","gists_url":"https://api.github.com/users/littledan/gists{/gist_id}","starred_url":"https://api.github.com/users/littledan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/littledan/subscriptions","organizations_url":"https://api.github.com/users/littledan/orgs","repos_url":"https://api.github.com/users/littledan/repos","events_url":"https://api.github.com/users/littledan/events{/privacy}","received_events_url":"https://api.github.com/users/littledan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/littledan/ecma262","description":"Status, process, and documents for ECMA262","fork":true,"url":"https://api.github.com/repos/littledan/ecma262","forks_url":"https://api.github.com/repos/littledan/ecma262/forks","keys_url":"https://api.github.com/repos/littledan/ecma262/keys{/key_id}","collaborators_url":"https://api.github.com/repos/littledan/ecma262/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/littledan/ecma262/teams","hooks_url":"https://api.github.com/repos/littledan/ecma262/hooks","issue_events_url":"https://api.github.com/repos/littledan/ecma262/issues/events{/number}","events_url":"https://api.github.com/repos/littledan/ecma262/events","assignees_url":"https://api.github.com/repos/littledan/ecma262/assignees{/user}","branches_url":"https://api.github.com/repos/littledan/ecma262/branches{/branch}","tags_url":"https://api.github.com/repos/littledan/ecma262/tags","blobs_url":"https://api.github.com/repos/littledan/ecma262/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/littledan/ecma262/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/littledan/ecma262/git/refs{/sha}","trees_url":"https://api.github.com/repos/littledan/ecma262/git/trees{/sha}","statuses_url":"https://api.github.com/repos/littledan/ecma262/statuses/{sha}","languages_url":"https://api.github.com/repos/littledan/ecma262/languages","stargazers_url":"https://api.github.com/repos/littledan/ecma262/stargazers","contributors_url":"https://api.github.com/repos/littledan/ecma262/contributors","subscribers_url":"https://api.github.com/repos/littledan/ecma262/subscribers","subscription_url":"https://api.github.com/repos/littledan/ecma262/subscription","commits_url":"https://api.github.com/repos/littledan/ecma262/commits{/sha}","git_commits_url":"https://api.github.com/repos/littledan/ecma262/git/commits{/sha}","comments_url":"https://api.github.com/repos/littledan/ecma262/comments{/number}","issue_comment_url":"https://api.github.com/repos/littledan/ecma262/issues/comments{/number}","contents_url":"https://api.github.com/repos/littledan/ecma262/contents/{+path}","compare_url":"https://api.github.com/repos/littledan/ecma262/compare/{base}...{head}","merges_url":"https://api.github.com/repos/littledan/ecma262/merges","archive_url":"https://api.github.com/repos/littledan/ecma262/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/littledan/ecma262/downloads","issues_url":"https://api.github.com/repos/littledan/ecma262/issues{/number}","pulls_url":"https://api.github.com/repos/littledan/ecma262/pulls{/number}","milestones_url":"https://api.github.com/repos/littledan/ecma262/milestones{/number}","notifications_url":"https://api.github.com/repos/littledan/ecma262/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/littledan/ecma262/labels{/name}","releases_url":"https://api.github.com/repos/littledan/ecma262/releases{/id}","deployments_url":"https://api.github.com/repos/littledan/ecma262/deployments","created_at":"2015-07-30T22:21:16Z","updated_at":"2017-02-19T22:59:29Z","pushed_at":"2019-06-21T11:56:52Z","git_url":"git://github.com/littledan/ecma262.git","ssh_url":"git@github.com:littledan/ecma262.git","clone_url":"https://github.com/littledan/ecma262.git","svn_url":"https://github.com/littledan/ecma262","homepage":"","size":13601,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tc39:master","ref":"master","sha":"a95e95a63bc1fd7d71f089ad1d68be0cce4caf34","user":{"login":"tc39","id":1725583,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MjU1ODM=","avatar_url":"https://avatars2.githubusercontent.com/u/1725583?v=4","gravatar_id":"","url":"https://api.github.com/users/tc39","html_url":"https://github.com/tc39","followers_url":"https://api.github.com/users/tc39/followers","following_url":"https://api.github.com/users/tc39/following{/other_user}","gists_url":"https://api.github.com/users/tc39/gists{/gist_id}","starred_url":"https://api.github.com/users/tc39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tc39/subscriptions","organizations_url":"https://api.github.com/users/tc39/orgs","repos_url":"https://api.github.com/users/tc39/repos","events_url":"https://api.github.com/users/tc39/events{/privacy}","received_events_url":"https://api.github.com/users/tc39/received_events","type":"Organization","site_admin":false},"repo":{"id":18609427,"node_id":"MDEwOlJlcG9zaXRvcnkxODYwOTQyNw==","name":"ecma262","full_name":"tc39/ecma262","private":false,"owner":{"login":"tc39","id":1725583,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MjU1ODM=","avatar_url":"https://avatars2.githubusercontent.com/u/1725583?v=4","gravatar_id":"","url":"https://api.github.com/users/tc39","html_url":"https://github.com/tc39","followers_url":"https://api.github.com/users/tc39/followers","following_url":"https://api.github.com/users/tc39/following{/other_user}","gists_url":"https://api.github.com/users/tc39/gists{/gist_id}","starred_url":"https://api.github.com/users/tc39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tc39/subscriptions","organizations_url":"https://api.github.com/users/tc39/orgs","repos_url":"https://api.github.com/users/tc39/repos","events_url":"https://api.github.com/users/tc39/events{/privacy}","received_events_url":"https://api.github.com/users/tc39/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tc39/ecma262","description":"Status, process, and documents for ECMA262","fork":false,"url":"https://api.github.com/repos/tc39/ecma262","forks_url":"https://api.github.com/repos/tc39/ecma262/forks","keys_url":"https://api.github.com/repos/tc39/ecma262/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tc39/ecma262/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tc39/ecma262/teams","hooks_url":"https://api.github.com/repos/tc39/ecma262/hooks","issue_events_url":"https://api.github.com/repos/tc39/ecma262/issues/events{/number}","events_url":"https://api.github.com/repos/tc39/ecma262/events","assignees_url":"https://api.github.com/repos/tc39/ecma262/assignees{/user}","branches_url":"https://api.github.com/repos/tc39/ecma262/branches{/branch}","tags_url":"https://api.github.com/repos/tc39/ecma262/tags","blobs_url":"https://api.github.com/repos/tc39/ecma262/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tc39/ecma262/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tc39/ecma262/git/refs{/sha}","trees_url":"https://api.github.com/repos/tc39/ecma262/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tc39/ecma262/statuses/{sha}","languages_url":"https://api.github.com/repos/tc39/ecma262/languages","stargazers_url":"https://api.github.com/repos/tc39/ecma262/stargazers","contributors_url":"https://api.github.com/repos/tc39/ecma262/contributors","subscribers_url":"https://api.github.com/repos/tc39/ecma262/subscribers","subscription_url":"https://api.github.com/repos/tc39/ecma262/subscription","commits_url":"https://api.github.com/repos/tc39/ecma262/commits{/sha}","git_commits_url":"https://api.github.com/repos/tc39/ecma262/git/commits{/sha}","comments_url":"https://api.github.com/repos/tc39/ecma262/comments{/number}","issue_comment_url":"https://api.github.com/repos/tc39/ecma262/issues/comments{/number}","contents_url":"https://api.github.com/repos/tc39/ecma262/contents/{+path}","compare_url":"https://api.github.com/repos/tc39/ecma262/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tc39/ecma262/merges","archive_url":"https://api.github.com/repos/tc39/ecma262/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tc39/ecma262/downloads","issues_url":"https://api.github.com/repos/tc39/ecma262/issues{/number}","pulls_url":"https://api.github.com/repos/tc39/ecma262/pulls{/number}","milestones_url":"https://api.github.com/repos/tc39/ecma262/milestones{/number}","notifications_url":"https://api.github.com/repos/tc39/ecma262/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tc39/ecma262/labels{/name}","releases_url":"https://api.github.com/repos/tc39/ecma262/releases{/id}","deployments_url":"https://api.github.com/repos/tc39/ecma262/deployments","created_at":"2014-04-09T19:04:33Z","updated_at":"2019-06-22T18:48:45Z","pushed_at":"2019-06-22T12:11:11Z","git_url":"git://github.com/tc39/ecma262.git","ssh_url":"git@github.com:tc39/ecma262.git","clone_url":"https://github.com/tc39/ecma262.git","svn_url":"https://github.com/tc39/ecma262","homepage":"https://tc39.es/ecma262/","size":14316,"stargazers_count":8590,"watchers_count":8590,"language":"HTML","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":664,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":296,"license":null,"forks":664,"open_issues":296,"watchers":8590,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/1597"},"html":{"href":"https://github.com/tc39/ecma262/pull/1597"},"issue":{"href":"https://api.github.com/repos/tc39/ecma262/issues/1597"},"comments":{"href":"https://api.github.com/repos/tc39/ecma262/issues/1597/comments"},"review_comments":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/1597/comments"},"review_comment":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tc39/ecma262/pulls/1597/commits"},"statuses":{"href":"https://api.github.com/repos/tc39/ecma262/statuses/5a0d85003e92cd9a1c961b6ef43e373d75284d39"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"jmdyck"}}