- 10 Nov, 2021 1 commit
-
-
Dominik Inführ authored
V8's write barrier doesn't use a store buffer anymore but inserts directly into the remembered set. However, there were still some comments/method definitions left. Bug: v8:9454 Change-Id: Ic3bc3394750f1d4989027e07dbc9201c3f484ccd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270536Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77814}
-
- 30 Sep, 2021 1 commit
-
-
Marja Hölttä authored
It's confusing that we have CSA_CHECK and CSA_ASSERT and it's not clear from the names that the former works in release mode and the latter only in debug mode. Renaming CSA_ASSERT to CSA_DCHECK makes it clear what it does. So now we have CSA_CHECK and CSA_DCHECK and they're not confusing. This also renames assert() in Torque to dcheck(). Bug: v8:12244 Change-Id: I6f25d431ebc6eec7ebe326b6b8ad3a0ac5e9a108 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3190104Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#77160}
-
- 20 Apr, 2021 1 commit
-
-
Stephen Belanger authored
This is a reland of d5457f5f after a speculative revert. Additionally it fixes an issue with throwing promise hooks. Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Bug: chromium:1197475 Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74071}
-
- 08 Apr, 2021 2 commits
-
-
Michael Achenbach authored
This reverts commit d5457f5f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/32999 Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Change-Id: Ie7345c4505f39c973f9f0dbca745b591cff63f3f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814740 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73862}
-
Stephen Belanger authored
This will enable Node.js to get much better performance from async_hooks as currently PromiseHook delegates to C++ for the hook function and then Node.js delegates it right back to JavaScript, introducing several unnecessary barrier hops in code that gets called very, very frequently in modern, promise-heavy applications. This API mirrors the form of the original C++ function based PromiseHook API, however it is intentionally separate to allow it to use JSFunctions triggered within generated code to, as much as possible, avoid entering runtime functions entirely. Because PromiseHook has internal use also, beyond just the Node.js use, I have opted to leave the existing API intact and keep this separate to avoid conflicting with any possible behaviour expectations of other API users. The design ideas for this new API stemmed from discussion with some V8 team members at a previous Node.js Diagnostics Summit hosted by Google in Munich, and the relevant documentation of the discussion can be found here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e A summary of the reasons for why this new design is important can be found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing Bug: v8:11025 Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73858}
-
- 06 Aug, 2020 2 commits
-
-
Tobias Tebbi authored
This is a reland of 408e7240 Change: Allow CSA load elimination accross code comments Original change's description: > [torque] typed context slot access > > This introduces a new type Slot<ContextType, SlotType> that is used > for enum values used to access context slots. > Together with new types for the various custom contexts used in > Torque, this results in fairly type-safe access to context slots, > including the NativeContext's slots. > > Drive-by changes: > - Introduce a new header file to specify headers needed for > generated CSA headers, to reduce the amount of includes specified > in implementation-visitor.cc > - Port AllocateSyntheticFunctionContext to Torque. > > Bug: v8:7793 > Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#69249} Bug: v8:7793 Change-Id: I1fe100d8d62e8220524eddb8ecc4faa85219748d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339462Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69264}
-
Jakob Gruber authored
This reverts commit 408e7240. Reason for revert: debug builds fail is_component_build = true is_debug = true use_goma = true v8_enable_backtrace = true v8_enable_debugging_features = true v8_enable_fast_mksnapshot = true v8_enable_slow_dchecks = true v8_enable_snapshot_code_comments = true v8_enable_verify_csa = true v8_optimized_debug = false v8_use_multi_snapshots = false # Fatal error in ../../src/compiler/backend/instruction-selector.cc, line 3088 # Expected Turbofan static assert to hold, but got non-true input: static_assert(nativeContext == LoadNativeContext(context)) at src/builtins/promise-resolve.tq:45:5 Original change's description: > [torque] typed context slot access > > This introduces a new type Slot<ContextType, SlotType> that is used > for enum values used to access context slots. > Together with new types for the various custom contexts used in > Torque, this results in fairly type-safe access to context slots, > including the NativeContext's slots. > > Drive-by changes: > - Introduce a new header file to specify headers needed for > generated CSA headers, to reduce the amount of includes specified > in implementation-visitor.cc > - Port AllocateSyntheticFunctionContext to Torque. > > Bug: v8:7793 > Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#69249} TBR=tebbi@chromium.org,seth.brenith@microsoft.com Change-Id: I90c014022a808449aca4a9b9b3c3b8e036beb28e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2340903Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69256}
-
- 05 Aug, 2020 1 commit
-
-
Tobias Tebbi authored
This introduces a new type Slot<ContextType, SlotType> that is used for enum values used to access context slots. Together with new types for the various custom contexts used in Torque, this results in fairly type-safe access to context slots, including the NativeContext's slots. Drive-by changes: - Introduce a new header file to specify headers needed for generated CSA headers, to reduce the amount of includes specified in implementation-visitor.cc - Port AllocateSyntheticFunctionContext to Torque. Bug: v8:7793 Change-Id: I509a128916ca408eeeb636a9bcc376b2cc868532 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335064 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69249}
-
- 27 Jul, 2020 1 commit
-
-
Tobias Tebbi authored
When mksnapshot fails on a static assert in Torque, print the statement and position from the Torque source. To enable special treatment, change the syntax of static asserts in Torque from StaticAssert() to static_assert() to align with assert() and check() statements. Bug: v8:7793 Change-Id: Idda8e3c342bdcefc893ff297f8d7727d2734c221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2317314 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#69069}
-
- 16 Jul, 2020 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Ie573b3feef58329d524e51c942b67cf0525963ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300545 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68885}
-
- 03 Jul, 2020 1 commit
-
-
Daniel Clifford authored
This change also makes it possible to create Torque references to elements in the context. Change-Id: I064b73dedf8463c8d92b94b0e59f3cb4e366611a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2280084 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68677}
-
- 09 Jun, 2020 1 commit
-
-
Marja Hölttä authored
Promise.{all,allSettled,any,race} should check resolve is a function before opening their iteratable. PR: https://github.com/tc39/ecma262/pull/1912 PR for Promise.any: https://github.com/tc39/proposal-promise-any/pull/65 This CL includes the following cleanup changes: - Made it more explicit that the constructor is a Constructor. - Removed unnecessary nested try blocks (a try can have both a catch and a label). - Moved commonly used definitions out of promise-race.tq where they don't belong. - Made the parameter order of PerformPromiseAll match the spec. Bug: v8:10578 Change-Id: I9deb5d5106db7350a0d0ad52f165ff2469e7074b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2232544 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68260}
-
- 12 May, 2020 2 commits
-
-
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}
-
Marja Hölttä authored
There's no need for them to be in NativeContext. This CL moves the rest of the Promise-related SFIs. Bug: v8:10482 Change-Id: I7eb926be14bf44fb3cd01cb96b4769eff1c2911b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190752 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#67732}
-
- 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}
-
- 02 Apr, 2020 1 commit
-
-
Timothy Gu authored
Remove other variants for the same functionality such as IsCallable(), TaggedIsCallable(), and !TaggedIsSmi() && IsCallable(). Change-Id: I33bcdf7699c1adf2330b3c11f482f7bbfcd927b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2107515 Commit-Queue: Timothy Gu <timothygu@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66973}
-
- 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}
-
- 21 Jan, 2020 1 commit
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I04383cba6dcb5fc61c82cb8018160aff6fed3b15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988794 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65899}
-
- 10 Jan, 2020 1 commit
-
-
Joshua Litt authored
This reverts commit e5e8685c. Bug: v8:9838 Change-Id: I3e45479a2470cb7891b39ac6f7d08404115aa7d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991954Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65692}
-
- 09 Jan, 2020 1 commit
-
-
Joshua Litt authored
Change-Id: I7583d4c3f798babb1b8cd23da8abbebf23f53331 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992604 Auto-Submit: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65653}
-
- 08 Jan, 2020 4 commits
-
-
Joshua Litt authored
This reverts commit d6556fbd. Reason for revert: ugh, accidentally submitted this Original change's description: > Reland "Reland "[promises] Port Promise.race to Torque."" > > This reverts commit 2225d242. > > Reason for revert: clusterfuzz fixed > > Original change's description: > > Revert "Reland "[promises] Port Promise.race to Torque."" > > > > This reverts commit 766aeb99. > > > > Reason for revert: clusterfuzz > > Bug: chromium:1040238 > > > > Original change's description: > > > Reland "[promises] Port Promise.race to Torque." > > > > > > Fixes clusterfuzz bug. > > > > > > This is a reland of 15ec4a09 > > > > > > Original change's description: > > > > [promises] Port Promise.race to Torque. > > > > > > > > Bug: v8:9838 > > > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 > > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > > > Cr-Commit-Position: refs/heads/master@{#65562} > > > > > > Bug: v8:9838 > > > Change-Id: Id295a12023195511289d92517936733ab22cdf4b > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542 > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#65613} > > > > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org > > > > > > Bug: v8:9838 > > Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808 > > Reviewed-by: Joshua Litt <joshualitt@chromium.org> > > Auto-Submit: Joshua Litt <joshualitt@chromium.org> > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65649} > > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org > > Change-Id: I9dda79c99070478443db1a2d8190bd27b4e990d3 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:1040238, v8:9838 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992605 > Reviewed-by: Joshua Litt <joshualitt@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65650} TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org Change-Id: I8cf8909e4e4d9ec59fd80eaa6804a8421b0626a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1040238, v8:9838 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992606Reviewed-by: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65651}
-
Joshua Litt authored
This reverts commit 2225d242. Reason for revert: clusterfuzz fixed Original change's description: > Revert "Reland "[promises] Port Promise.race to Torque."" > > This reverts commit 766aeb99. > > Reason for revert: clusterfuzz > Bug: chromium:1040238 > > Original change's description: > > Reland "[promises] Port Promise.race to Torque." > > > > Fixes clusterfuzz bug. > > > > This is a reland of 15ec4a09 > > > > Original change's description: > > > [promises] Port Promise.race to Torque. > > > > > > Bug: v8:9838 > > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#65562} > > > > Bug: v8:9838 > > Change-Id: Id295a12023195511289d92517936733ab22cdf4b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542 > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65613} > > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org > > > Bug: v8:9838 > Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808 > Reviewed-by: Joshua Litt <joshualitt@chromium.org> > Auto-Submit: Joshua Litt <joshualitt@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65649} TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org Change-Id: I9dda79c99070478443db1a2d8190bd27b4e990d3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1040238, v8:9838 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992605Reviewed-by: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65650}
-
Joshua Litt authored
This reverts commit 766aeb99. Reason for revert: clusterfuzz Bug: chromium:1040238 Original change's description: > Reland "[promises] Port Promise.race to Torque." > > Fixes clusterfuzz bug. > > This is a reland of 15ec4a09 > > Original change's description: > > [promises] Port Promise.race to Torque. > > > > Bug: v8:9838 > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 > > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65562} > > Bug: v8:9838 > Change-Id: Id295a12023195511289d92517936733ab22cdf4b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65613} TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org Bug: v8:9838 Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808Reviewed-by: Joshua Litt <joshualitt@chromium.org> Auto-Submit: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65649}
-
Joshua Litt authored
Bug: v8:9838 Change-Id: If2cbae09eb0628cd4d29bb1768d1ef7d1659e683 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1990128 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65641}
-
- 07 Jan, 2020 1 commit
-
-
Joshua Litt authored
Fixes clusterfuzz bug. This is a reland of 15ec4a09 Original change's description: > [promises] Port Promise.race to Torque. > > Bug: v8:9838 > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65562} Bug: v8:9838 Change-Id: Id295a12023195511289d92517936733ab22cdf4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65613}
-
- 06 Jan, 2020 1 commit
-
-
Joshua Litt authored
This reverts commit 15ec4a09. Reason for revert: Clusterfuzz Bug:chromium:1038140 Original change's description: > [promises] Port Promise.race to Torque. > > Bug: v8:9838 > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65562} TBR=tebbi@chromium.org,joshualitt@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9838 Change-Id: Ic9aa558425f106b0c1c7f5b87dfb6064605ee657 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988539Reviewed-by: Joshua Litt <joshualitt@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65587}
-
- 27 Dec, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65562}
-
- 19 Dec, 2019 1 commit
-
-
Joshua Litt authored
Also port a few smaller functions. Bug: v8:9838 Change-Id: I2245abe648378970a89331baa19af49f7f49359b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1961942 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65510}
-
- 18 Dec, 2019 1 commit
-
-
Nico Hartmann authored
This CL implements enums in Torque in three steps: 1.) It implements necessary changes to Torque's type system. In particular, the constraints on constexpr types are relaxed such that constexpr types can exist without a corresponding non-constexpr version. Furthermore, constexpr and their non-constexpr counterpart need not be of the same kind of type. This allows an AbstractType to have a UnionType as its non-constexpr counterpart. 2.) The enum feature itself is realized as a pure desugaring in the parser, where all required types, constants and macro specializations (like FromConstexpr<>) are generated from a simple enum declaration, such that enum entries are not just constants, but are namespace scoped and have distinct types so that they can be used within typeswitch constructs. 3.) Almost all of the existing constants defined in torque (.tq files) are ported to new enum definitions. Bug: v8:10053 Change-Id: I72426d3b1434f301fd690847e15603de0dc1021b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1964392 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65503}
-
- 16 Dec, 2019 2 commits
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I9cfa7af623af3b387962ea4fa90cfc599612f976 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1958961Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65465}
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I4111e17515d5f2b440e30d08582174047be4b92b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1957761Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65461}
-
- 10 Dec, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: Ia9a84ca2c9c5ba9bed7b6ebddc3135f689e2cfaa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955665Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65404}
-
- 02 Dec, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9838, chromium:1028016 Change-Id: Iae195ac12c8fc01506f04ed5e62fc3c0983c56e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1944280Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#65295}
-
- 22 Nov, 2019 1 commit
-
-
Joshua Litt authored
Bug: v8:9838 Change-Id: I7597e55744c577bd1a7619110db88e1adb4239a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1922488 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65118}
-
- 20 Nov, 2019 1 commit
-
-
Tobias Tebbi authored
That's possible because JS builtins are JSFunctions that embed a NativeContext. Bug: v8:7793 Change-Id: Id2bf7844fcfb53df733100f1e3e554f25a78482a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926150Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65068}
-