1. 06 Feb, 2020 17 commits
  2. 05 Feb, 2020 18 commits
  3. 04 Feb, 2020 5 commits
    • Andreas Haas's avatar
      [turbofan] Don't assume that Word32AtomicPairCompareExchange has a projection-0 · bc436ed7
      Andreas Haas authored
      The instruction selector assumed for Word32AtomicPairCompareExchange
      nodes that if there exists a Projection(1) user, then there also exists
      a Projection(0) user. This, however, is not the case, because TurboFan
      eliminates unreachable nodes. The missing projection node lead to a
      failed DCHECK in the register allocator.
      
      With this CL we allocate the right registers for the existing
      projections, and allocate the other needed registers as temp registers.
      
      R=gdeepti@chromium.org
      
      Bug: v8:10140
      Change-Id: Id50768c3cb712db5e0eb3b9dcd0a8a479e20953a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030731Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66122}
      bc436ed7
    • Ng Zhi An's avatar
      [wasm-simd] Unify sse and avx impl for i16x8 shifts · 148b5391
      Ng Zhi An authored
      The implementation is pretty much the same, and we instead delegate to a
      macro assembler to decide if we want the sse or avx instruction.
      
      This unification will simplify optimization of constant shifts later on.
      
      Bug: v8:10115
      Change-Id: I68e60cb3fd51156438989812be189f71e6e47ba7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2026470Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66121}
      148b5391
    • Michael Achenbach's avatar
      Revert "heap: Delay completing marking" · 1775684e
      Michael Achenbach authored
      This reverts commit 02e57873.
      
      Reason for revert: High flakiness and broken GPU builders. See:
      https://crbug.com/v8/10178
      (speculative revert)
      
      Original change's description:
      > heap: Delay completing marking
      > 
      > Delay completing marking (and thus the atomic GC pause) during JS
      > executions, increasing the chance to finalize the garbage collection
      > from a task. This is beneficial as it avoids stack scanning which is
      > expensive and can keep alive outdated objects in case of unified heap.
      > 
      > Completing will be delayed at most by some overshoot factor (10%).
      > 
      > In addition, the GC keeps the weighted average of previously recorded
      > time to incremental marking task invocations and bails out if the
      > task is expected to arrive too late.
      > 
      > Bug: chromium:1044630
      > Change-Id: I10e63e6aaa88d8488d4415f311016dce2b4e62a2
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030906
      > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66107}
      
      TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org
      
      Change-Id: I0cd3f1189d0f83754350d5bdaaf82cb3c4d402c8
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:1044630, v8:10178
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037434Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66120}
      1775684e
    • Ng Zhi An's avatar
      Reland "[wasm-simd][liftoff] Add S128 case for stack movements" · 06594a8d
      Ng Zhi An authored
      This relands commit 5cfe053e.
      
      Original change's description:
      > [wasm-simd][liftoff] Add S128 case for stack movements
      >
      > The two cases we are fixing here are Construct and
      > LoadCallerFrameSlot, which are closely related.
      >
      > Construct is called during PrepareCall, where we build up
      > LiftoffStackSlots when we need to move an arg from caller's stack frame
      > into callee's stack frame. LoadCallerFrameSlot is the parallel to
      > this, called in ProcessParameter during decoding of the callee's
      > function body.
      >
      > In most cases, Construct needs a new case to handle kWasmS128, and calls
      > the relevant assembler to push a s128 onto the stack.
      >
      > ARM64 requires 16-byte alignment of sp, so we need to Claim the right
      > number of kXRegSize slots first, which requires
      > us traversing the list of slots to figure out how many s128 values there
      > are. This is a straightforward way to fix this, if efficiency is a
      > problem, we can change LiftOffStackSlots::Add to sum up the slot sizes.
      >
      > On IA32, pushing s128 values will require 4 calls to push. Instead, we
      > use a sub and two movdqu, which will generate less code in most cases.
      >
      > On x64, there is no 128-bit push, so we call push twice.
      >
      > Bug: v8:9909
      > Change-Id: I3af35b8462ea9c3b9b2d90800c37d11b5e95be59
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015945
      > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65956}
      
      Bug: v8:9909
      Change-Id: Icdaead289abe13faf75bb9e049929f7fd7c59a08
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036760
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66119}
      06594a8d
    • Thibaud Michaud's avatar
      Reland "[wasm] Use memcmp to compare module bytes" · 868e4e19
      Thibaud Michaud authored
      This is a reland of 45ea0150
      
      Original change's description:
      > [wasm] Use memcmp to compare module bytes
      > 
      > This is much faster than std::lexicographical_compare.
      > 
      > R=clemensb@chromium.org
      > 
      > Bug: chromium:1048554
      > Change-Id: I5f0ba22654e172535b6e6fcf6d2a460e278d3cfd
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2036078
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66109}
      
      Bug: chromium:1048554
      Change-Id: I04d4b1ea8354f7d0567100dec10be0de6ca0ed37
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037432
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66118}
      868e4e19