1. 16 Mar, 2021 2 commits
  2. 15 Mar, 2021 2 commits
  3. 12 Mar, 2021 3 commits
  4. 11 Mar, 2021 7 commits
    • Michael Lippautz's avatar
      cppgc: Fix shrink to free list · b8e7d60d
      Michael Lippautz authored
      Add the object start bit when adding an entry to the free list.
      Introduce a GC at the end of the tests to make sure that the object
      start bitmap verification catches such issues.
      
      Bug: chromium:1056170
      Change-Id: Id8ca257ce054fc3fb199955cf1c4f38004033747
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752870Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73353}
      b8e7d60d
    • Clemens Backes's avatar
      Reland "[no-wasm] Exclude src/wasm from compilation" · 3f9ff062
      Clemens Backes authored
      This is a reland of 80f5dfda. A condition
      in pipeline.cc was inverted, which lead to a CSA verifier error.
      
      Original change's description:
      > [no-wasm] Exclude src/wasm from compilation
      >
      > This is the biggest chunk, including
      > - all of src/wasm,
      > - torque file for wasm objects,
      > - torque file for wasm builtins,
      > - wasm builtins,
      > - wasm runtime functions,
      > - int64 lowering,
      > - simd scala lowering,
      > - WasmGraphBuilder (TF graph construction for wasm),
      > - wasm frame types,
      > - wasm interrupts,
      > - the JSWasmCall opcode,
      > - wasm backing store allocation.
      >
      > Those components are all recursively entangled, so I found no way to
      > split this change up further.
      >
      > Some includes that were recursively included by wasm headers needed to
      > be added explicitly now.
      >
      > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      > because it only tests wasm backing stores. This file is excluded from
      > no-wasm builds then.
      >
      > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      >
      > Bug: v8:11238
      > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73344}
      
      TBR=jgruber@chromium.org
      
      Bug: v8:11238
      Change-Id: I20bd2847a59c68738b5a336cd42582b7b1499585
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      Cq-Include-Trybots: luci.v8.try:v8_linux_verify_csa_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_verify_csa_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752867Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73348}
      3f9ff062
    • Clemens Backes's avatar
      Revert "[no-wasm] Exclude src/wasm from compilation" · 92bc3d38
      Clemens Backes authored
      This reverts commit 80f5dfda.
      
      Reason for revert: Fails CSA verification: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/21766/overview
      
      Original change's description:
      > [no-wasm] Exclude src/wasm from compilation
      >
      > This is the biggest chunk, including
      > - all of src/wasm,
      > - torque file for wasm objects,
      > - torque file for wasm builtins,
      > - wasm builtins,
      > - wasm runtime functions,
      > - int64 lowering,
      > - simd scala lowering,
      > - WasmGraphBuilder (TF graph construction for wasm),
      > - wasm frame types,
      > - wasm interrupts,
      > - the JSWasmCall opcode,
      > - wasm backing store allocation.
      >
      > Those components are all recursively entangled, so I found no way to
      > split this change up further.
      >
      > Some includes that were recursively included by wasm headers needed to
      > be added explicitly now.
      >
      > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      > because it only tests wasm backing stores. This file is excluded from
      > no-wasm builds then.
      >
      > R=​jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      >
      > Bug: v8:11238
      > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73344}
      
      Bug: v8:11238
      Change-Id: I93672002c1faa36bb0bb5b4a9cc2032ee2ccd814
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752866
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#73346}
      92bc3d38
    • Clemens Backes's avatar
      [no-wasm] Exclude src/wasm from compilation · 80f5dfda
      Clemens Backes authored
      This is the biggest chunk, including
      - all of src/wasm,
      - torque file for wasm objects,
      - torque file for wasm builtins,
      - wasm builtins,
      - wasm runtime functions,
      - int64 lowering,
      - simd scala lowering,
      - WasmGraphBuilder (TF graph construction for wasm),
      - wasm frame types,
      - wasm interrupts,
      - the JSWasmCall opcode,
      - wasm backing store allocation.
      
      Those components are all recursively entangled, so I found no way to
      split this change up further.
      
      Some includes that were recursively included by wasm headers needed to
      be added explicitly now.
      
      backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      because it only tests wasm backing stores. This file is excluded from
      no-wasm builds then.
      
      R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      
      Bug: v8:11238
      Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73344}
      80f5dfda
    • Manos Koukoutos's avatar
      [turbofan] Fix CsaLoadElimination for small types · f7bb9267
      Manos Koukoutos authored
      CsaLoadElimination failed to account for truncation when optimizing
      loads. This CL extends the notion of compatible Loads and Stores to
      include ({store}, {load}) pairs which both have integral representation
      and {store}'s representation is no smaller than {load}'s. In case the
      representations are not identical, it truncates and possibly
      sign-extends {store} before forwarding it to {load}.
      
      Additional change: Extend ObjectMayAlias with wasm allocating builtin
      calls.
      
      Bug: v8:11504
      Change-Id: I43f89a13793b54477a33be18aaf346462aefa8e5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739975Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73340}
      f7bb9267
    • Michael Lippautz's avatar
      cppgc: Add GCInfo folding · b01869ca
      Michael Lippautz authored
      Adds GCInfo folding that delegates GCInfo requests to the
      parent-most object if finalizer semantics match.
      
      Folding is disabled for builds that want exact object names
      as those names are also managed through GCInfo objects.
      
      Bug: chromium:1056170
      Change-Id: I783aad930587853741da533d0b9b56ba160d0596
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748588
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73339}
      b01869ca
    • Michael Lippautz's avatar
      cppgc: Require object for cppgc::subtle::Resize() · 5204c32a
      Michael Lippautz authored
      Resize() is not similar to realloc() in that it allocates a new object
      when passed a nullptr object.
      
      Avoid corner cases around Resize(nullptr, size) where size may be
      problematic if non-null by just requiring a valid object. The caller
      can perform the necesary nullptr check.
      
      Bug: chromium:1056170
      Change-Id: Ic05972ae67c2968fc3eb002a6302b44e56b41ab4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752147Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73336}
      5204c32a
  5. 09 Mar, 2021 1 commit
  6. 08 Mar, 2021 6 commits
  7. 05 Mar, 2021 4 commits
    • Bill Budge's avatar
      Reland "[codegen][frames] Generalize argument padding slot code" · d2ab64eb
      Bill Budge authored
      This is a (manual) reland of ba87518e071a75fb951b490d3f75a87ca715cc23
      
      It is unchanged, except to rebase around a merge conflict.
      TBR=neis@chromium.org, jgruber@chromium.org
      
      Bug: v8:9198
      
      > [codegen][frames] Generalize argument padding slot code
      >
      > - Removes kPadArguments boolean.
      > - Changes ShouldPadArguments to ArgumentPaddingSlots to reflect
      >   that on some architectures more than 1 padding slot may be needed.
      > - Adds AddArgumentPaddingSlots and ShouldPadArguments convenience
      >   functions.
      >
      > Bug: v8:9198
      >
      > Change-Id: Iba87518e071a75fb951b490d3f75a87ca715cc23
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679109
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#72605}
      
      Change-Id: I2a9022964d3bafe68c5c1e7de0ae7e837dd5c2e3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2740457Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73241}
      d2ab64eb
    • Bill Budge's avatar
      Reland "Reland "Reland "[compiler][wasm] Align Frame slots to value size""" · e639eafe
      Bill Budge authored
      This is a reland of 352b9ecb
      
      The test/fix CL has been merged in, as the fixes to return slot
      accounting are needed to fix Arm64 issues turned up by the fuzzers:
      
      https://chromium-review.googlesource.com/c/v8/v8/+/2644139
      
      The reverted fix for Wasm return slot allocation is added in
      patchset #2, to avoid fuzzer issues that it fixed:
      
      https://chromium-review.googlesource.com/c/v8/v8/+/2683024
      
      TBR=neis@chromium.org
      
      Original change's description:
      > Reland "Reland "[compiler][wasm] Align Frame slots to value size""
      >
      > This is a reland of 1694925c
      >
      > Minor fix to linkage for constexpr.
      >
      > TBR=ahaas@chromium.org,neis@chromium.org
      >
      > Original change's description:
      > > Reland "[compiler][wasm] Align Frame slots to value size"
      > >
      > > This is a reland of cddaf66c
      > >
      > > Original change's description:
      > > > [compiler][wasm] Align Frame slots to value size
      > > >
      > > > - Adds an AlignedSlotAllocator class and tests, to unify slot
      > > >   allocation. This attempts to use alignment holes for smaller
      > > >   values.
      > > > - Reworks Frame to use the new allocator for stack slots.
      > > > - Reworks LinkageAllocator to use the new allocator for stack
      > > >   slots and for ARMv7 FP register aliasing.
      > > > - Fixes the RegisterAllocator to align spill slots.
      > > > - Fixes InstructionSelector to align spill slots.
      > > >
      > > > Bug: v8:9198
      > > >
      > > > Change-Id: Ida148db428be89ef95de748ec5fc0e7b0358f523
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2512840
      > > > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#71644}
      > >
      > > Bug: v8:9198
      > > Change-Id: Ib91fa6746370c38496706341e12d05c7bf999389
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2633390
      > > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#72195}
      >
      > Bug: v8:9198
      > Change-Id: I91e02b823af8ec925dacf075388fb22e3eeb3384
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640890
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#72209}
      
      Bug: v8:9198
      Change-Id: Ia5cf63af4e5991bc7cf42da9972ffd044fc829f0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733177
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73238}
      e639eafe
    • Michael Lippautz's avatar
      cppgc: Cleanups around testing · 76260bc1
      Michael Lippautz authored
      Bug: chromium:1056170
      Change-Id: Ic6e40d5e5e9bcca28a8c344adfab06f4e88701aa
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737302
      Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73231}
      76260bc1
    • Manos Koukoutos's avatar
      [wasm-gc] Implement non-nullable function tables · e3acd9f8
      Manos Koukoutos authored
      This adds the possibility to define non-nullable function tables of heap
      types kFunc and user-defined functions. When such table is defined, it
      is obligatory to provide an initializer expression after its limits.
      Currently, this can only be a function reference.
      
      Changes:
      - Change WasmTableObject::raw_type to encode the whole entry type.
      - Restructure call_indirect to load the signature only if needed, and
        do null checks only if needed.
      - Add the requirement to provide an initializer expression for
        non-nullable tables in module-decoder.
      - Rename "global initializer" -> "initializer expression" everywhere.
      - Add table initialization in module-instantiate.
      - Edit both the C++ and JS WasmModuleBuilder.
      - Add and slightly improve tests.
      - Format wasm-module-builder.js.
      
      Bug: v8:9495
      Change-Id: I7453ee7d567afd5b5fe48a4f1653513787cfe99a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732673
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73215}
      e3acd9f8
  8. 04 Mar, 2021 1 commit
  9. 03 Mar, 2021 2 commits
  10. 02 Mar, 2021 1 commit
  11. 01 Mar, 2021 1 commit
  12. 26 Feb, 2021 6 commits
  13. 25 Feb, 2021 3 commits
  14. 24 Feb, 2021 1 commit