1. 06 Feb, 2020 16 commits
  2. 05 Feb, 2020 18 commits
  3. 04 Feb, 2020 6 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
    • Thibaud Michaud's avatar
      [wasm] Trigger top tier callback for cached modules · 7a9e7f50
      Thibaud Michaud authored
      Ensure that the top tier streaming callback is called, even when the
      native module is actually fetched from the cache rather than compiled.
      This preserves the old behavior, such that the cache stays an
      implementation detail to clients of the streaming compilation API.
      
      R=clemensb@chromium.org
      
      Bug: v8:10165
      Change-Id: Ib243c97529900f76b7b9cd5d1d57f259bc38225c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2035875
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66117}
      7a9e7f50