1. 18 Feb, 2019 1 commit
  2. 05 Dec, 2018 1 commit
  3. 27 Nov, 2018 1 commit
  4. 20 Nov, 2018 1 commit
  5. 15 Nov, 2018 1 commit
  6. 13 Nov, 2018 1 commit
  7. 31 Oct, 2018 1 commit
  8. 19 Oct, 2018 3 commits
  9. 28 Sep, 2018 1 commit
    • Daniel Clifford's avatar
      Clean up common argument objects that share length property · 64e8a948
      Daniel Clifford authored
      This CL adds a bit more rigor to the handling of length properties
      in JSObject-derived classes that explicitly contain that property
      inline.
      
      This involves:
      - Introducing a new superclass of JSArgumentsObject called
        JSArgumentsObjectWithLength that is shared with other object
        instances that also have a fixed length property.
      - Adding JSArgumentsObjectWithLength to the type hierarchy in Torque,
        including adding fast-cases for leading the length property for all
        classes deriving from JSObjectWithLength.
      - Adding more rigor to Context and NativeContext handling in base.tq.
        This is useful for the map checks required to verify objects are
        argument object types derived from JSArgumentsObjectWithLength.
      
      Change-Id: I2f0a20601ffcb90b3767cbaeb766e9998d3462ec
      Reviewed-on: https://chromium-review.googlesource.com/1248661
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56289}
      64e8a948
  10. 24 Sep, 2018 1 commit
    • Daniel Clifford's avatar
      [torque] Improve formatting in format-torque · f088840a
      Daniel Clifford authored
      Issues/problems addressed:
      
      - Fix line-wrapping and indenting for long declarations including strings,
        e.g. generates and constexpr clauses.
      - Implement proper formatting for typeswitch statements
      - Fix formatting of operator declarations
      - Fix formatting of constexpr if-clauses (the constexpr is now included on the
        same line as the if and it doesn't mess up the formatting that
      - Fix formatting of label declarations on callables, the "label" keyword now
        always starts a new line with indentation.
      - Remove space after identifier name in generic parameter declarations, e.g.
        "<a : T>" is now "<a: T>" which is consistent with type specification
        formatting elsewhere.
      - Indent "otherwise" clauses that have been pushed to the next line.
      
      Also ran the formatter over all existing .tq files.
      
      Bug: v8:7793
      Change-Id: I5adbb2ffa3d573deed062f9a5c1da57348c8fc71
      Reviewed-on: https://chromium-review.googlesource.com/1238580
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56158}
      f088840a
  11. 11 Sep, 2018 1 commit
  12. 06 Sep, 2018 2 commits
  13. 04 Sep, 2018 1 commit
    • Mike Stanton's avatar
      [builtins] Enable Torque Array.prototype.splice · fd334b32
      Mike Stanton authored
      Before, splice was implemented with a C++ fast path and a
      comprehensive JavaScript version.
      
      This impl. is entirely in Torque with a fastpath for SMI,
      DOUBLE and OBJECT arrays, and a comprehensive slow path.
      The same level of "sparse" array support as given by the
      array.js implementation is included.
      
      This reland addresses several issues:
      
      * Removed "sparse" array support from splice.
      * Addressed ClusterFuzz issue 876443:
        The test and code that uses the fix is in this CL.
        The fix in isolation can be seen here:
        https://chromium-review.googlesource.com/c/v8/v8/+/1199403
      * Removed dead code in elements.cc
      
      BUG=chromium:876443, v8:8131, v8:1956, v8:7221
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I2d4a66c24ba1edabeca34e27e6ff8ee6136ed5f1
      Reviewed-on: https://chromium-review.googlesource.com/1201783
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55610}
      fd334b32
  14. 03 Sep, 2018 1 commit
  15. 24 Aug, 2018 1 commit
  16. 22 Aug, 2018 1 commit
    • Tobias Tebbi's avatar
      Revert "[builtins] Reland Array.prototype.splice() Torque implementation." · e99a1092
      Tobias Tebbi authored
      This reverts commit cdaaa311.
      
      Reason for revert: chromium:876445 chromium:876453 chromium:876443
      
      Original change's description:
      > [builtins] Reland Array.prototype.splice() Torque implementation.
      > 
      > Before, splice was implemented with a C++ fast path and a
      > comprehensive JavaScript version.
      > 
      > This impl. is entirely in Torque with a fastpath for SMI,
      > DOUBLE and OBJECT arrays, and a comprehensive slow path.
      > The same level of "sparse" array support as given by the
      > array.js implementation is included.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f
      > Reviewed-on: https://chromium-review.googlesource.com/1169466
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55263}
      
      TBR=mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      
      Change-Id: I5b750a98e671b7284474ffcabc6b4d37a9d1219e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1184741Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55289}
      e99a1092
  17. 21 Aug, 2018 1 commit
  18. 10 Aug, 2018 1 commit
  19. 09 Aug, 2018 2 commits
  20. 08 Aug, 2018 1 commit
  21. 07 Aug, 2018 1 commit
  22. 02 Jul, 2018 1 commit
  23. 18 Jun, 2018 1 commit
  24. 13 Jun, 2018 2 commits
  25. 12 Jun, 2018 1 commit
    • Daniel Clifford's avatar
      [torque] Turn implicit converts/unsafe_casts into generics · bbbfd81c
      Daniel Clifford authored
      In the process:
        - Add strict ordering of Types so that name mangling is consistent
          and build time. Previously, the UnionType stored the union's
          types in a std::set<const Type*>, which did not have a consistent
          ordering of the types in the set.
        - Add a int31 type to enable consistency and correctness of
          handling of 'constexpr int31' values on the C++ side.
        - By removing the "implicit" keyword for operators, there is now
          one less difference between operators and calls, another
          incremental step in unifying operators and calls.
        - Enable external (i.e. C++-defined) generic specializations
        - Add CSA support for checking double ElementsKinds, including
          tests.
        - Clean up some constexpr/non-constexpr handling of ElementsKinds.
      
      Bug: v8:7793
      Change-Id: I27699aba70b98ebf5466e5b62b045d7b1dad62c8
      Reviewed-on: https://chromium-review.googlesource.com/1091155
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53664}
      bbbfd81c
  26. 07 Jun, 2018 1 commit
    • Simon Zünd's avatar
      Reland "[array] Use random middle element to determine pivot during sorting" · 3896cdc2
      Simon Zünd authored
      This is a reland of 91bab558
      
      This CL contains two major changes w.r.t to the original CL:
      
      The random state is removed from the Smi root list and we pre-seed the RNG
      on each sort with the length of the array.
      
      To cut down on the length of the arguments list and to keep track of the
      random state across recursive calls, we move most of the sort arguments into
      a FixedArray and reload from the array for each recursion.
      
      Original change's description:
      > [array] Use random middle element to determine pivot during sorting
      >
      > This CL adds a "random state" to the Smi Root list and implements a
      > basic Linear congruential pseudo random number generator in Torque.
      >
      > The RNG is used to determine the pivot element for sorting. This will
      > prevent the worst cases for certain data layouts.
      >
      > Drive-by-fix: Make sorting of ranges and execution pauses for profviz
      > deterministic by adding a secondary sorting criteria.
      >
      > Bug: v8:7382
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ieb871e98e74bdb803f821b0cd35d2f67ee0f2868
      > Reviewed-on: https://chromium-review.googlesource.com/1082193
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Cr-Commit-Position: refs/heads/master@{#53524}
      
      Bug: v8:7382
      Change-Id: Ia7bef7ed1c0e904ffe43bc428e702f64f9c6a60b
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1087888Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Simon Zünd <szuend@google.com>
      Cr-Commit-Position: refs/heads/master@{#53583}
      3896cdc2
  27. 06 Jun, 2018 1 commit
  28. 05 Jun, 2018 2 commits
  29. 04 Jun, 2018 2 commits
    • Jakob Gruber's avatar
      Revert "[array] Implement Array.p.sort in Torque" · 3348ed0b
      Jakob Gruber authored
      This reverts commit df1676e6.
      
      Reason for revert: https://crbug.com/v8/7382#c26
      
      Original change's description:
      > [array] Implement Array.p.sort in Torque
      > 
      > This CL implements a generic baseline version and 3 fastpaths, for
      > various elements kinds, of Array.p.sort in Torque. Details can be found
      > in the Design Doc: https://goo.gl/Ge321G.
      > 
      > Performance impact on micro benchmarks depends on the element kind
      > and whether the user provides a comparison function.
      > For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      > the board. For Dictionary we are slower in all micro benchmarks (0.7).
      > For PackedSmi it depends on the call site and whether or not a
      > comparison function is used.
      > 
      > Detailed numbers: https://goo.gl/mTyPSb
      > 
      > Bug: v8:7382
      > Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      > Reviewed-on: https://chromium-review.googlesource.com/1061523
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53481}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com
      
      Change-Id: I4c1b32a434d49caba67c80bccb068390607f90a2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7382
      Reviewed-on: https://chromium-review.googlesource.com/1085407Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53494}
      3348ed0b
    • Simon Zünd's avatar
      [array] Implement Array.p.sort in Torque · df1676e6
      Simon Zünd authored
      This CL implements a generic baseline version and 3 fastpaths, for
      various elements kinds, of Array.p.sort in Torque. Details can be found
      in the Design Doc: https://goo.gl/Ge321G.
      
      Performance impact on micro benchmarks depends on the element kind
      and whether the user provides a comparison function.
      For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      the board. For Dictionary we are slower in all micro benchmarks (0.7).
      For PackedSmi it depends on the call site and whether or not a
      comparison function is used.
      
      Detailed numbers: https://goo.gl/mTyPSb
      
      Bug: v8:7382
      Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      Reviewed-on: https://chromium-review.googlesource.com/1061523
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53481}
      df1676e6
  30. 29 May, 2018 1 commit
  31. 24 May, 2018 1 commit
  32. 18 May, 2018 1 commit
  33. 09 May, 2018 1 commit