1. 13 Aug, 2020 18 commits
  2. 12 Aug, 2020 17 commits
  3. 11 Aug, 2020 5 commits
    • Sathya Gunasekaran's avatar
      [ic] Add elements kind to handlers · 15ec32b4
      Sathya Gunasekaran authored
      Bug: v8:10582, v8:9684
      Change-Id: I4b53b161f9154212568856206ff011e61975e431
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2247652
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69348}
      15ec32b4
    • Bill Budge's avatar
      Revert "[regalloc] Place spill instructions optimally" · e9245e46
      Bill Budge authored
      This reverts commit f4548e75.
      
      Reason for revert: Breaks some gap resolver tests:
      https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim/24204
      
      Original change's description:
      > [regalloc] Place spill instructions optimally
      > 
      > Design doc:
      > https://docs.google.com/document/d/1n9ADWnDI-sw0OvdSmrthf61prmDqbDmQq-NSrQw2MVI/edit?usp=sharing
      > 
      > Most of this change follows directly what is discussed in the design
      > document. A few other things are also changed:
      > 
      > - PopulateReferenceMapsPhase is moved after ResolveControlFlowPhase so
      >   that it can make use of the decision regarding whether a value is
      >   spilled at its definition or later.
      > - SpillSlotLocator is removed. It was already somewhat confusing,
      >   because the responsibility for marking blocks as needing frames was
      >   split: in some cases they were marked by SpillSlotLocator, and in
      >   other cases they were marked by CommitSpillsInDeferredBlocks. With
      >   this change, that split responsibility would become yet more
      >   confusing if we kept SpillSlotLocator for the values that are spilled
      >   at their definition, so I propose a simpler rule that whatever code
      >   adds the spill move also marks the block.
      > - A few class definitions (LiveRangeBound, FindResult,
      >   LiveRangeBoundArray, and LiveRangeFinder) are moved without
      >   modification from register-allocator.cc to register-allocator.h so
      >   that we can refer to them from another cc file.
      > 
      > Bug: v8:10606
      > Change-Id: I374a3219a5de477a53bc48117e230287eae89e72
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2285390
      > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69345}
      
      TBR=rmcilroy@chromium.org,seth.brenith@microsoft.com,thibaudm@chromium.org
      
      Change-Id: Ie57109a009ee7ee541a6ff6f89901d1ac99027d2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10606
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2350440Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69347}
      e9245e46
    • Ng Zhi An's avatar
      Reland "[wasm-simd][arm] Use vmov to move all ones to register" · 9b9c6b0e
      Ng Zhi An authored
      This is a reland of 57242a05
      
      no-sse4.1 builds were failing due to missing simd-scalar-lowering
      for s128.const, this reland adds that implementation.
      
      Original change's description:
      > [wasm-simd][arm] Use vmov to move all ones to register
      >
      > vceq(dst, dst, dst) does not seem to always set the register to all
      > ones. The right way should be be to use vmov (immediate) anyway. This
      > was not supported in the assembler yet, so we need changes to the
      > assembler, diassembler, and simulator.
      >
      > There is an unfortunate fork in logic in the simulator, due to the way
      > the switches are set up, vmov (imm) logic is duplicated across two
      > different cases, because the switch looks at the top bit of the
      > immediate. Refactoring this will be a bigger change that is irrelevant
      > for this bug, so I'm putting that off for now. Instead we extract the
      > core of vmov (imm) into helpers and call it in the two cases.
      >
      > Bug: chromium:1112124
      > Change-Id: I283dbcd86cb0572e5ee720835f897b51fae96701
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2337503
      > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69315}
      
      Bug: chromium:1112124
      Change-Id: Id450e5cea41f7a569e49be8386a7788ca8f00658
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346937Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69346}
      9b9c6b0e
    • Seth Brenith's avatar
      [regalloc] Place spill instructions optimally · f4548e75
      Seth Brenith authored
      Design doc:
      https://docs.google.com/document/d/1n9ADWnDI-sw0OvdSmrthf61prmDqbDmQq-NSrQw2MVI/edit?usp=sharing
      
      Most of this change follows directly what is discussed in the design
      document. A few other things are also changed:
      
      - PopulateReferenceMapsPhase is moved after ResolveControlFlowPhase so
        that it can make use of the decision regarding whether a value is
        spilled at its definition or later.
      - SpillSlotLocator is removed. It was already somewhat confusing,
        because the responsibility for marking blocks as needing frames was
        split: in some cases they were marked by SpillSlotLocator, and in
        other cases they were marked by CommitSpillsInDeferredBlocks. With
        this change, that split responsibility would become yet more
        confusing if we kept SpillSlotLocator for the values that are spilled
        at their definition, so I propose a simpler rule that whatever code
        adds the spill move also marks the block.
      - A few class definitions (LiveRangeBound, FindResult,
        LiveRangeBoundArray, and LiveRangeFinder) are moved without
        modification from register-allocator.cc to register-allocator.h so
        that we can refer to them from another cc file.
      
      Bug: v8:10606
      Change-Id: I374a3219a5de477a53bc48117e230287eae89e72
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2285390
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69345}
      f4548e75
    • Seth Brenith's avatar
      [turbofan][cleanup] Add helper function for effect level · 80ef93c8
      Seth Brenith authored
      I noticed a pattern that has been copied around to various places and
      thought a helper function might be appropriate.
      
      Change-Id: I8944ac5166c649f15c09f587308406cab317b8d4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346766Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#69344}
      80ef93c8