1. 13 Aug, 2020 15 commits
  2. 12 Aug, 2020 17 commits
  3. 11 Aug, 2020 8 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
    • Milad Farazmand's avatar
      PPC: Optimize clearing higher bits of mulhw/mulhwu · 3f071e3e
      Milad Farazmand authored
      Change-Id: Ie3e14a6ef4531349e81a8ae741bc7470c7e547ca
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349468Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#69343}
      3f071e3e
    • Santiago Aboy Solanes's avatar
      [csa][cleanup] TNodify LoadAndUntagToWord32(Fixed)ArrayElement · f6af044d
      Santiago Aboy Solanes authored
      Also remove ParameterMode
      
      Bug: v8:9708, v8:6949
      Change-Id: Iaf51004472a4aef0acf29d01497b1047247dc83d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349301Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69342}
      f6af044d
    • Bill Budge's avatar
      Revert "Reland^2 "[flags] warn about contradictory flags"" · 7e932233
      Bill Budge authored
      This reverts commit 0ba115e6.
      
      Reason for revert: Breaks test on TSAN - block-conflicts
      https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/14230
      
      Original change's description:
      > Reland^2 "[flags] warn about contradictory flags"
      > 
      > This is a reland of d8f8a7e2
      > Change compared to last reland:
      > - Do not check for d8 flag contradictions in the presence of --fuzzing
      > - Allow identical re-declaration of --cache=*
      > 
      > Original change's description:
      > > Reland "[flags] warn about contradictory flags"
      > >
      > > This is a reland of b8f91666
      > > Difference to previous CL: Additional functionality to specify
      > > incompatible flags based on GN variables and extra-flags, used
      > > to fix the issues that came up on the waterfall.
      > >
      > > This also changes the rules regarding repeated flags: While
      > > explicitly repeated flags are allowed for boolean values as long
      > > as they are identical, repeated flags or explicit flags in the
      > > presence of an active implication are disallowed for non-boolean
      > > flags. The latter simplifies specifying conflict rules in
      > > variants.py. Otherwise a rule like
      > >
      > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
      > >   "--gc-interval=*": ["--gc-interval=*"],
      > > }
      > >
      > > wouldn't work because specifying the same GC interval twice
      > > wouldn't actually count as a conflict. This was an issue with
      > > test/mjsunit/wasm/gc-buffer.js, which specifies
      > > --gc-interval=500 exactly like the extra flag by the stress bot.
      > >
      > > Also, this now expands contradictory flags checking to d8 flags
      > > for consistency.
      > >
      > > Original change's description:
      > > > [flags] warn about contradictory flags
      > > >
      > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
      > > >
      > > > Bug: v8:10577
      > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
      > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#68168}
      > >
      > > Bug: v8:10577
      > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
      > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#68989}
      > 
      > Bug: v8:10577
      > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69339}
      
      TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org
      
      Change-Id: I1454a05e357ddd704db7fb79e51be65d45a9a16e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10577
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2348365Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69341}
      7e932233