1. 12 Sep, 2019 1 commit
  2. 30 Aug, 2019 1 commit
  3. 20 Aug, 2019 1 commit
  4. 19 Aug, 2019 3 commits
    • Georg Neis's avatar
      Reland "[turbofan] Various serializer/broker improvements" · 4b1af9fc
      Georg Neis authored
      This is a reland of 29585a06 after
      removing an incorrect DCHECK.
      
      Original change's description:
      > [turbofan] Various serializer/broker improvements
      >
      > They are all somewhat entangled, sorry for the big CL.
      >
      > - Brokerize remaining feedback vector slots.
      > - Introduce Hints::SingleConstant helper.
      > - Introduce SerializationPolicy enum.
      > - Eliminate use of nullptr for megamorphic load/store ic feedback.
      >   Instead use the corresponding ProcessedFeedback with an empty list
      >   of maps or the like. new class MegamorphicFeedback.
      > - Separate processing of feedback from serialization. This eliminates
      >   code duplication.
      > - Be very careful when clearing hints not to overwrite hints that are
      >   being processed.
      > - Move AccessInfos out of NamedAccessFeedback. Always store them in
      >   property_access_infos_ map on broker. (This was actually unused
      >   before, somewhat by mistake.)
      > - Support map inference in concurrent inlining. Rewrite
      >   ElementAccessFeedback such that we can refine it with the set of
      >   inferred maps.
      >
      > TBR: mvstanton@chromium.org
      > Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63232}
      
      TBR: mvstanton@chromium.org
      Bug: v8:7790
      Change-Id: Ia4acd31b339a941ee065e1ae4835bb7b85d5685e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758319Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63241}
      4b1af9fc
    • Maya Lekova's avatar
      Revert "[turbofan] Various serializer/broker improvements" · 0645b26a
      Maya Lekova authored
      This reverts commit 29585a06.
      
      Reason for revert: Breaks GC stress bots - 
      https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24009
      https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/27281
      
      Original change's description:
      > [turbofan] Various serializer/broker improvements
      > 
      > They are all somewhat entangled, sorry for the big CL.
      > 
      > - Brokerize remaining feedback vector slots.
      > - Introduce Hints::SingleConstant helper.
      > - Introduce SerializationPolicy enum.
      > - Eliminate use of nullptr for megamorphic load/store ic feedback.
      >   Instead use the corresponding ProcessedFeedback with an empty list
      >   of maps or the like. new class MegamorphicFeedback.
      > - Separate processing of feedback from serialization. This eliminates
      >   code duplication.
      > - Be very careful when clearing hints not to overwrite hints that are
      >   being processed.
      > - Move AccessInfos out of NamedAccessFeedback. Always store them in
      >   property_access_infos_ map on broker. (This was actually unused
      >   before, somewhat by mistake.)
      > - Support map inference in concurrent inlining. Rewrite
      >   ElementAccessFeedback such that we can refine it with the set of
      >   inferred maps.
      > 
      > TBR: mvstanton@chromium.org
      > Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63232}
      
      TBR=mvstanton@chromium.org,neis@chromium.org
      
      Change-Id: I88625d92fddf993db63661666c59af05a47b2b58
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758314Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63237}
      0645b26a
    • Georg Neis's avatar
      [turbofan] Various serializer/broker improvements · 29585a06
      Georg Neis authored
      They are all somewhat entangled, sorry for the big CL.
      
      - Brokerize remaining feedback vector slots.
      - Introduce Hints::SingleConstant helper.
      - Introduce SerializationPolicy enum.
      - Eliminate use of nullptr for megamorphic load/store ic feedback.
        Instead use the corresponding ProcessedFeedback with an empty list
        of maps or the like. new class MegamorphicFeedback.
      - Separate processing of feedback from serialization. This eliminates
        code duplication.
      - Be very careful when clearing hints not to overwrite hints that are
        being processed.
      - Move AccessInfos out of NamedAccessFeedback. Always store them in
        property_access_infos_ map on broker. (This was actually unused
        before, somewhat by mistake.)
      - Support map inference in concurrent inlining. Rewrite
        ElementAccessFeedback such that we can refine it with the set of
        inferred maps.
      
      TBR: mvstanton@chromium.org
      Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63232}
      29585a06
  5. 09 Aug, 2019 1 commit
  6. 01 Aug, 2019 1 commit
  7. 25 Jul, 2019 1 commit
  8. 05 Jul, 2019 1 commit
  9. 24 Jun, 2019 1 commit
  10. 21 Jun, 2019 1 commit
  11. 20 May, 2019 3 commits
  12. 16 May, 2019 1 commit
  13. 10 May, 2019 1 commit
  14. 12 Apr, 2019 1 commit
  15. 09 Apr, 2019 1 commit
  16. 29 Mar, 2019 1 commit
  17. 14 Mar, 2019 1 commit
    • Georg Neis's avatar
      [turbofan] Preprocess feedback for global accesses (partially) · 04bb707e
      Georg Neis authored
      Main changes:
      - Rename ProcessedFeedback to ElementAccessFeedback and introduce a base class
        with the old name ProcessedFeedback.
      - Introduce another kind of ProcessedFeedback, namely GlobalAccessFeedback for
        the LoadGlobal/StoreGlobal IC. It's either a PropertyCell or a script context
        slot.
      - Produce such processed feedback in the serializer, when visiting LdaGlobal and
        similar bytecodes.
      - Consume it, and disallow heap access, in JSNativeContextSpecialization's
        ReduceJSLoadGlobal and ReduceJSStoreGlobal (for --concurrent-inlining).
      
      Minor changes:
      - Introduce a FeedbackSource class (pair of FeedbackVector and FeedbackSlot)
        that is used as the key of the processed feedback hash table. We already have
        two similar classes, FeedbackNexus and VectorSlotPair, but both are unsuitable
        for technical reasons (e.g. FeedbackNexus construction accesses the heap).
        Eventually we should remove VectorSlotPair.
      - Processed feedback is now returned as a pointer, which is nullptr if the
        original feedback wasn't interesting (e.g. megamorphic).
      
      The title says "partially" because the CL doesn't yet take into account named
      accesses where the receiver happens to be the global proxy.
      
      Bug: v8:7790
      Change-Id: I4404d98636b91a8f2d5667115944bae4773a4770
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518184
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60240}
      04bb707e
  18. 01 Mar, 2019 1 commit
    • Matt Gardner's avatar
      Reland "Optimize `in` operator" · 803ad324
      Matt Gardner authored
      The original was reverted for breaking webkit layout tests:
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270
      
      It also caused the following clusterfuzz failures:
      
      chromium:935832
      This was a correctness bug due to not properly handling the case of arrays with prototypes other
      than Array.prototype. Accesses that were TheHole were not being handled property, both in bounds
      holes in holey arrays and out of bounds on either holey or packed arrays. Handling was incorrect
      both in access-assembler and in Turbofan.
      
      chromium:935932
      This bug was that there was no handling for Has checks on the global object. Turbofan was emitting
      code for a store (the 'else' condition on 'access_mode == AccessMode::kLoad'). It hit a DCHECK in
      debug builds but in release could show up in different places. This is the bug that caused the
      webkit layout test failure that led to the revert.
      
      Both bugs are fixed by in CL, and tests are added for those cases.
      
      Bug: v8:8733, chromium:935932, chromium:935832
      Change-Id: Iba0dfcfce6e15d2c0815a7670ece67bc13ba1925
      Reviewed-on: https://chromium-review.googlesource.com/c/1493132Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Matt Gardner <magardn@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#59958}
      803ad324
  19. 26 Feb, 2019 2 commits
  20. 25 Feb, 2019 1 commit
  21. 19 Feb, 2019 1 commit
  22. 13 Feb, 2019 1 commit
  23. 12 Feb, 2019 1 commit
    • Georg Neis's avatar
      Reland^4 "[turbofan] Use feedback when reducing global loads/stores." · 96585c3a
      Georg Neis authored
      This is a reland of 8683116e without
      changes. The previous issues should be gone thanks to
      ba1d0f25.
      
      Original change's description:
      > Reland^3 "[turbofan] Use feedback when reducing global loads/stores."
      >
      > This is a reland of 2d2c1374 without
      > changes. Offending chromium tests have been modified.
      >
      > Original change's description:
      > > Reland^2 "[turbofan] Use feedback when reducing global loads/stores."
      > >
      > > This reverts commit ac85ab0a. A
      > > chromium test caused trouble and was taken care of in
      > > https://chromium-review.googlesource.com/c/1384064.
      > >
      > > Original change's description:
      > > > [turbofan] Use feedback when reducing global loads/stores.
      > > >
      > > > We already record the script context location or the property cell
      > > > as feedback of the global load/store IC, so Turbofan doesn't need
      > > > to do the lookups again.
      > >
      > > TBR=sigurds@chromium.org
      > >
      > > Change-Id: I58bcd9bceec2f9cf401f7b0fc4460a6da6cd0abc
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1386404
      > > Commit-Queue: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#58393}
      >
      > Change-Id: Ic6734201a6c45f2752488ab44b16859776802f51
      > Reviewed-on: https://chromium-review.googlesource.com/c/1408252
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58769}
      
      TBR=bmeurer@chromium.org
      
      Change-Id: I80890e2605711045ec6997843d031b61ea27d5e4
      Reviewed-on: https://chromium-review.googlesource.com/c/1463779
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59518}
      96585c3a
  24. 11 Feb, 2019 2 commits
  25. 17 Jan, 2019 1 commit
    • Georg Neis's avatar
      Revert "Reland^3 "[turbofan] Use feedback when reducing global loads/stores."" · 073063d7
      Georg Neis authored
      This reverts commit 8683116e.
      
      Reason for revert: There's a bug in the StoreGlobalIC that causes regressions in combination with this CL (observable in Chrome but
      not in d8).
      
      Original change's description:
      > Reland^3 "[turbofan] Use feedback when reducing global loads/stores."
      >
      > This is a reland of 2d2c1374 without
      > changes. Offending chromium tests have been modified.
      >
      > Original change's description:
      > > Reland^2 "[turbofan] Use feedback when reducing global loads/stores."
      > >
      > > This reverts commit ac85ab0a. A
      > > chromium test caused trouble and was taken care of in
      > > https://chromium-review.googlesource.com/c/1384064.
      > >
      > > Original change's description:
      > > > [turbofan] Use feedback when reducing global loads/stores.
      > > >
      > > > We already record the script context location or the property cell
      > > > as feedback of the global load/store IC, so Turbofan doesn't need
      > > > to do the lookups again.
      > >
      > > TBR=sigurds@chromium.org
      > >
      > > Change-Id: I58bcd9bceec2f9cf401f7b0fc4460a6da6cd0abc
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1386404
      > > Commit-Queue: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#58393}
      >
      > Change-Id: Ic6734201a6c45f2752488ab44b16859776802f51
      > Reviewed-on: https://chromium-review.googlesource.com/c/1408252
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58769}
      
      TBR=neis@chromium.org,sigurds@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:922545, chromium:922514, chromium:922558
      Change-Id: I6e4c4c0fbc29a0f2a03972f1687242ae247ebfa8
      Reviewed-on: https://chromium-review.googlesource.com/c/1417614
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58891}
      073063d7
  26. 14 Jan, 2019 1 commit
  27. 07 Jan, 2019 1 commit
  28. 02 Jan, 2019 1 commit
  29. 27 Dec, 2018 1 commit
  30. 20 Dec, 2018 1 commit
  31. 23 Nov, 2018 1 commit
  32. 20 Nov, 2018 1 commit
  33. 16 Nov, 2018 1 commit
  34. 15 Nov, 2018 1 commit