1. 10 Nov, 2021 1 commit
  2. 30 Sep, 2021 1 commit
  3. 20 Apr, 2021 1 commit
  4. 08 Apr, 2021 2 commits
  5. 06 Aug, 2020 2 commits
    • Tobias Tebbi's avatar
      Reland "[torque] typed context slot access" · 6647f292
      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: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69264}
      6647f292
    • Jakob Gruber's avatar
      Revert "[torque] typed context slot access" · a55a2447
      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: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69256}
      a55a2447
  6. 05 Aug, 2020 1 commit
    • Tobias Tebbi's avatar
      [torque] typed context slot access · 408e7240
      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: 's avatarSeth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#69249}
      408e7240
  7. 27 Jul, 2020 1 commit
  8. 16 Jul, 2020 1 commit
  9. 03 Jul, 2020 1 commit
  10. 09 Jun, 2020 1 commit
  11. 12 May, 2020 2 commits
  12. 06 May, 2020 1 commit
  13. 02 Apr, 2020 1 commit
  14. 18 Mar, 2020 1 commit
  15. 06 Mar, 2020 1 commit
  16. 04 Mar, 2020 1 commit
    • Timothy Gu's avatar
      Reland "Use context of then function for PromiseResolveThenableJob" · 92a2f0c7
      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: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Timothy Gu <timothygu@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66586}
      92a2f0c7
  17. 29 Feb, 2020 1 commit
    • Francis McCabe's avatar
      Revert "Use context of then function for PromiseResolveThenableJob" · 7558e182
      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: 's avatarFrancis McCabe <fgm@chromium.org>
      Commit-Queue: Francis McCabe <fgm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66510}
      7558e182
  18. 28 Feb, 2020 1 commit
  19. 29 Jan, 2020 1 commit
  20. 21 Jan, 2020 1 commit
  21. 10 Jan, 2020 1 commit
  22. 09 Jan, 2020 1 commit
  23. 08 Jan, 2020 4 commits
    • Joshua Litt's avatar
      Revert "Reland "Reland "[promises] Port Promise.race to Torque.""" · e5e8685c
      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: 's avatarJoshua Litt <joshualitt@chromium.org>
      Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65651}
      e5e8685c
    • Joshua Litt's avatar
      Reland "Reland "[promises] Port Promise.race to Torque."" · d6556fbd
      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: 's avatarJoshua Litt <joshualitt@chromium.org>
      Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65650}
      d6556fbd
    • Joshua Litt's avatar
      Revert "Reland "[promises] Port Promise.race to Torque."" · 2225d242
      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: 's avatarJoshua 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}
      2225d242
    • Joshua Litt's avatar
      [promises] Port promise deopt continuation to torque. · c2fcb6d9
      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: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65641}
      c2fcb6d9
  24. 07 Jan, 2020 1 commit
  25. 06 Jan, 2020 1 commit
  26. 27 Dec, 2019 1 commit
  27. 19 Dec, 2019 1 commit
  28. 18 Dec, 2019 1 commit
    • Nico Hartmann's avatar
      [torque] Enum language feature · fdc9fade
      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: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65503}
      fdc9fade
  29. 16 Dec, 2019 2 commits
  30. 10 Dec, 2019 1 commit
  31. 02 Dec, 2019 1 commit
  32. 22 Nov, 2019 1 commit
  33. 20 Nov, 2019 1 commit