1. 11 Feb, 2020 2 commits
  2. 22 Jan, 2020 1 commit
  3. 21 Jan, 2020 1 commit
  4. 09 Jan, 2020 1 commit
  5. 30 Dec, 2019 1 commit
  6. 25 Dec, 2019 1 commit
  7. 18 Dec, 2019 1 commit
  8. 28 Nov, 2019 1 commit
  9. 27 Nov, 2019 1 commit
    • Jakob Gruber's avatar
      [gasm] Implement ReduceArrayPrototypeForEach using the graph assembler · 971e81ad
      Jakob Gruber authored
      After landing a few relatively simple ports in preceding work, this CL
      ports the more involved Array.prototype.forEach reduction, containing
      checkpoints, JS and runtime calls, loops, and exceptions. With the
      mechanisms introduced in this change, I'd expect a large chunk of
      js-call reductions to be trivially portable.
      
      Newly introduced:
      - IfBuilder0 for if-then-else statements (with optional else).
      - ForBuilder for for-loop statements.
      - MayThrow() for exceptional control flow. Exceptional edges are
        automatically merged and wired into the outer graph if necessary.
      
      Bug: v8:9972
      Change-Id: I835bf90c5871fbd94a1d12721d44b500fbef75e2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1921798Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65193}
      971e81ad
  10. 21 Nov, 2019 1 commit
    • Jakob Gruber's avatar
      [gasm] Implement parts of js call reducer using the graph assembler · 002d5be8
      Jakob Gruber authored
      An initial investigation of using GraphAssembler in JSCallReducer.
      
      This CL ports two simple reductions (ReduceMathUnary,
      ReduceMathBinary) as well as a slightly more involved reduction with
      branching control flow (ReduceStringPrototypeSubstring). The graph
      assembler abstracts away the details of maintaining effect and control
      edges. Resulting code ends up looking very similar to CSA.
      
      Newly introduced:
      - Typing through TNode.
      - IfBuilder1 for nicer if-then-else sequences that return exactly 1
        value. Future CLs will add more convenience builders that follow this
        pattern.
      - Many small readability improvements through helper functions.
      
      Bug: v8:9972
      Change-Id: Iaa186b76c006e07c8d69a74f340a4912577a32a5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914204
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65095}
      002d5be8
  11. 04 Nov, 2019 1 commit
    • Nico Hartmann's avatar
      Preserve feedback and speculation mode for JSCall · 149e4935
      Nico Hartmann authored
      Changing the target of JSCall nodes (e.g. while lowering higher order calls)
      now preserves feedback and speculation mode to allow further (speculative)
      optimizations. A flag is introduced to mark feedback unrelated to the call
      target after such a transformation. This flag is used to prevent access to
      the feedback without the need to invalidate it.
      
      Bug: v8:9702
      Change-Id: I311d3a4b1b22d6f65e5837a23b0b7585c8d75eed
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844788
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64733}
      149e4935
  12. 26 Aug, 2019 1 commit
  13. 23 Aug, 2019 2 commits
  14. 05 Aug, 2019 1 commit
  15. 05 Jul, 2019 1 commit
  16. 02 Jul, 2019 2 commits
  17. 19 Jun, 2019 1 commit
  18. 18 Jun, 2019 1 commit
  19. 17 Jun, 2019 1 commit
  20. 31 May, 2019 1 commit
    • Mythri A's avatar
      [turbofan] Allow polymorphic inlining for Array push / pop / shift · 3e90eee9
      Mythri A authored
      Array push / pop / shift were inlined if the elements kind of the
      receiver maps is the same. This cl extends it by inlining these
      builtins even when the receiver maps have different elements kinds.
      It still limits it to only fast elements kinds. This is required to
      prevent regressions in deltablue when lazy feedback allocation is
      enabled. With lazy feedback allocation we may see polymorphic
      feedback more often, since we don't have allocation site feedback
      till the feedback vectors are allocated.
      
      Bug: v8:9078
      Change-Id: Id4a7b84be6305b125913b6ce0fb4f3eb3e3b15ec
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632239
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61949}
      3e90eee9
  21. 20 May, 2019 4 commits
  22. 16 May, 2019 1 commit
  23. 15 May, 2019 1 commit
  24. 01 May, 2019 1 commit
  25. 30 Apr, 2019 2 commits
  26. 29 Mar, 2019 1 commit
  27. 26 Mar, 2019 1 commit
  28. 18 Mar, 2019 1 commit
  29. 07 Mar, 2019 1 commit
  30. 02 Nov, 2018 1 commit
  31. 23 Oct, 2018 1 commit
  32. 22 Oct, 2018 1 commit
  33. 17 Oct, 2018 1 commit