- 12 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Id2a93f8ac8c512dbc5cdeb43a97e04d8d6684954 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196130 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#67748}
-
- 06 May, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:10421, v8:7793 Change-Id: If11fc7666f04ed0914f5fdfcdaa87acb8655d956 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169100 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#67591}
-
- 23 Apr, 2020 1 commit
-
-
Seth Brenith authored
This change allows Torque code to initialize bitfield structs, using the same syntax as struct initialization. It also moves the definition of the JSPromise flags to Torque as an example usage. Bug: v8:7793 Change-Id: I3d5e49aa22139ffb4b8ea9f308dd36a2d22b2c1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2148176 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67338}
-
- 14 Apr, 2020 1 commit
-
-
Timothy Gu authored
[1] has changed the layering between JavaScript and HTML substantially with regards to queuing promise-related microtasks. This fixes up the comments and parameter orders so that they match up with the current spec. [1]: https://github.com/tc39/ecma262/commit/c59502090e2c250cd7e457b5506b92db6b21d153 Change-Id: I75650f7dc1c0b1d1c2b67aaf19d9791a0391a06d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106997Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Timothy Gu <timothygu@chromium.org> Cr-Commit-Position: refs/heads/master@{#67130}
-
- 18 Mar, 2020 1 commit
-
-
Tobias Tebbi authored
As an escape hatch, add UnsafeConstCast() to still mutate the map field where necessary. Drive-by change: Refactor NewPromiseReactionJobTask to avoid unsafe allocation and map mutations. Bug: v8:7793 Change-Id: I90e06340c1cf048059b544f1c0a6f730f75d200c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096675 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#66766}
-
- 06 Mar, 2020 1 commit
-
-
Nate Chapin authored
This state can be set on the NativeContext by the embedder. When a PromiseReaction/PromiseReactionJobTask is constructed, store this contextual state if present, and restore it while the reaction job is running. Change-Id: I141cdbd9e36ea83ce4a6bf08440ae7eaa54523df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2005849Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Nate Chapin <japhet@chromium.org> Cr-Commit-Position: refs/heads/master@{#66617}
-
- 04 Mar, 2020 1 commit
-
-
Timothy Gu authored
This is a reland of 93253978 Original change's description: > Use context of then function for PromiseResolveThenableJob > > When a microtask is executed, we need to use an appropriate, > non-detached Context for its execution. Currently with > PromiseResolveThenableJobs [1], the Context used is always drawn from > the realm of the Promise constructor being used. This may cause > non-intuitive behavior, such as in the following case: > > const DeadPromise = iframe.contentWindow.Promise; > const p = DeadPromise.resolve({ > then() { > return { success: true }; > } > }); > p.then(result => { console.log(result); }); > > // Some time later, but synchronously... > iframe.src = "http://example.com"; // navigate away. > // DeadPromise's Context is detached state now. > // p never gets resolved, and its reaction handler never gets called. > > To fix this behavior, when PromiseResolveThenableJob is being queued up, > the `then` method of the thenable should be used to determine the > context of the resultant microtask. Doing so aligns with Firefox, and > also with the latest HTML spec [2][3]. > > This change is analogous to CL 1465902, which uses the realm of the > reaction handlers to determine the Context PromiseReactionJobs run in. > > [1]: https://tc39.es/ecma262/#sec-promiseresolvethenablejob > [2]: https://html.spec.whatwg.org/C/#enqueuejob(queuename,-job,-arguments) > [3]: https://github.com/whatwg/html/pull/5212 > > Bug: v8:10200 > Change-Id: I2312788eeea0f9e870c13cf3cb5730a87d15609e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071624 > Commit-Queue: Timothy Gu <timothygu@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66507} Bug: v8:10200 Change-Id: I5af003a06c60b0c8cd19de47f847a947d40d046c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2082109Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Timothy Gu <timothygu@chromium.org> Cr-Commit-Position: refs/heads/master@{#66586}
-
- 29 Feb, 2020 1 commit
-
-
Francis McCabe authored
This reverts commit 93253978. Reason for revert: Causing blink layout failures. See https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux%20Future/2684 Original change's description: > Use context of then function for PromiseResolveThenableJob > > When a microtask is executed, we need to use an appropriate, > non-detached Context for its execution. Currently with > PromiseResolveThenableJobs [1], the Context used is always drawn from > the realm of the Promise constructor being used. This may cause > non-intuitive behavior, such as in the following case: > > const DeadPromise = iframe.contentWindow.Promise; > const p = DeadPromise.resolve({ > then() { > return { success: true }; > } > }); > p.then(result => { console.log(result); }); > > // Some time later, but synchronously... > iframe.src = "http://example.com"; // navigate away. > // DeadPromise's Context is detached state now. > // p never gets resolved, and its reaction handler never gets called. > > To fix this behavior, when PromiseResolveThenableJob is being queued up, > the `then` method of the thenable should be used to determine the > context of the resultant microtask. Doing so aligns with Firefox, and > also with the latest HTML spec [2][3]. > > This change is analogous to CL 1465902, which uses the realm of the > reaction handlers to determine the Context PromiseReactionJobs run in. > > [1]: https://tc39.es/ecma262/#sec-promiseresolvethenablejob > [2]: https://html.spec.whatwg.org/C/#enqueuejob(queuename,-job,-arguments) > [3]: https://github.com/whatwg/html/pull/5212 > > Bug: v8:10200 > Change-Id: I2312788eeea0f9e870c13cf3cb5730a87d15609e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071624 > Commit-Queue: Timothy Gu <timothygu@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66507} TBR=verwaest@chromium.org,timothygu@chromium.org,syg@chromium.org Change-Id: I81737750f8b369567ba586c5a2cfb489836b7e74 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10200 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2081091Reviewed-by:
Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#66510}
-
- 28 Feb, 2020 1 commit
-
-
Timothy Gu authored
When a microtask is executed, we need to use an appropriate, non-detached Context for its execution. Currently with PromiseResolveThenableJobs [1], the Context used is always drawn from the realm of the Promise constructor being used. This may cause non-intuitive behavior, such as in the following case: const DeadPromise = iframe.contentWindow.Promise; const p = DeadPromise.resolve({ then() { return { success: true }; } }); p.then(result => { console.log(result); }); // Some time later, but synchronously... iframe.src = "http://example.com"; // navigate away. // DeadPromise's Context is detached state now. // p never gets resolved, and its reaction handler never gets called. To fix this behavior, when PromiseResolveThenableJob is being queued up, the `then` method of the thenable should be used to determine the context of the resultant microtask. Doing so aligns with Firefox, and also with the latest HTML spec [2][3]. This change is analogous to CL 1465902, which uses the realm of the reaction handlers to determine the Context PromiseReactionJobs run in. [1]: https://tc39.es/ecma262/#sec-promiseresolvethenablejob [2]: https://html.spec.whatwg.org/C/#enqueuejob(queuename,-job,-arguments) [3]: https://github.com/whatwg/html/pull/5212 Bug: v8:10200 Change-Id: I2312788eeea0f9e870c13cf3cb5730a87d15609e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071624 Commit-Queue: Timothy Gu <timothygu@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66507}
-
- 29 Jan, 2020 1 commit
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: Idc6bda122354a54dd24e39b0356f35b0f54ef089 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2012596 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66031}
-