1. 07 Jan, 2022 3 commits
  2. 05 Jan, 2022 5 commits
  3. 04 Jan, 2022 5 commits
    • Clemens Backes's avatar
      [compiler] Fix spilling for fixed SIMD registers · 47e8e8cc
      Clemens Backes authored
      If a fixed register is defined for an input, we did only spill the
      sibling SIMD register if the other sibling was allocated. This is not
      correct. If only the sibling is in use (e.g. s1 colliding with q0) we
      also have to spill that sibling.
      
      R=mslekova@chromium.org
      
      Bug: chromium:1283042, v8:12330
      Change-Id: I6a22eaf461774a0b4603ec3ff17062134a528161
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3359615Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78483}
      47e8e8cc
    • Clemens Backes's avatar
      [compiler] Fix SIMD overlapping issue · 7494f71c
      Clemens Backes authored
      The mid-tier register allocator did not handle block merges correctly
      where a SIMD register was partially overlapping with a non-SIMD
      register. This CL fixes that, and reorders the code to allow for early
      exits.
      
      R=mslekova@chromium.org
      
      Bug: chromium:1282224, v8:12330
      Change-Id: I2e9275d5c1aaa764ecb63fbf8fa197b68d6b6c3c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3358294Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78482}
      7494f71c
    • Benedikt Meurer's avatar
      [inspector] Fix `Runtime.setMaxCallStackSizeToCapture`. · 8f8d2fe4
      Benedikt Meurer authored
      This change fixes the implementation of the previously introduced API
      `Runtime.setMaxCallStackSizeToCapture` to work correctly and also apply
      (consistently) to stack traces captured by V8 when exceptions are
      thrown. It does so in a fully backwards compatible manner.
      
      This change thus makes the previous fix for catapult (which landed in
      http://crrev.com/c/3347789) effective, and therefore ensures that real
      world performance benchmarks aren't affected by the use of the `Runtime`
      domain in the catapult test framework.
      
      Note this is basically a reland of crrev.com/c/3361839, but without
      touching the stack traces for console messages (which led to the
      regressions in crbug/1283516, crbug/1283523, etc.).
      
      Fixed: chromium:1280831
      Bug: chromium:1283162, chromium:1278650, chromium:1258599
      Bug: chromium:1280803, chromium:1280832, chromium:1280818
      Doc: https://bit.ly/v8-cheaper-inspector-stack-traces
      Change-Id: I3dcec7b75d76ca267fac8bd6fcb2cda60d5e60dd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364086Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78479}
      8f8d2fe4
    • Manos Koukoutos's avatar
      [wasm] Unify treatment of expressions in elem. segments · e9440c45
      Manos Koukoutos authored
      We unify the implementation of element segment expression entries with
      other initializer expressions: we represent them with a {WireBytesRef}
      and decode them with {InitExprInterface}. Except for reducing code
      duplication, this also fixes a bug where {global.get} entries in element
      segments could reference invalid globals.
      
      Changes:
      - Change {WasmElemSegment::Entry} to a union of a {WireBytesRef}
        initializer expression and a {uint32_t} function index.
      - In module-decoder, change parsing of expression entries to use
        {consume_init_expr}. Add type checking to
        {consume_element_func_index}, to complement type checking happening in
        {consume_init_expr}.
      - In module-instantiate.cc:
        - Move instantiation of indirect tables before loading of element
          segments. This way, when we call {UpdateDispatchTables} in
          {SetTableEntry}, the indirect table for the current table will also
          be updated.
        - Consolidate table entry instantiation into {SetTableEntry}, which
          handles lazily instantiated functions, or dispatches to
          {WasmTableObject::Set}.
        - Rename {InitializeIndirectFunctionTables} to
          {InitializeNonDefaultableTables}.
        - Change {InitializeNonDefaultableTables} and {LoadElemSegmentImpl}
          to use {EvaluateInitExpression}.
      - Add a test to exclude mutable/non-imported globals from the element
        section.
      - Update tests as needed.
      - Update .js module emission in wasm-fuzzer-common.
      
      Change-Id: I29c541bbca8531e8d0312ed95869c8e78a5a0c57
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364082Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78476}
      e9440c45
    • Manos Koukoutos's avatar
      [wasm] Refactoring ahead of element segment changes · 226b8c86
      Manos Koukoutos authored
      See related CL for context.
      
      Changes:
      - In InitExprInterface, add the ability to evaluate function references
        as index only. Remove the global buffers and use the ones passed with
        the instance object instead.
      - In WasmElemSegment, add a field indicating if elements should be
        parsed as expressions or indices. Change module-decoder.cc to reflect
        this change.
      - In module-instantiate, change the signatures of LoadElemSegment,
        LoadElemSegmentImpl, and EvaluateInitExpr. Move the latter out of
        InstanceBuilder.
      
      Change-Id: I1df54393b2005fba49380654bdd40429bd4869dd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364081Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78470}
      226b8c86
  4. 03 Jan, 2022 1 commit
    • Benedikt Meurer's avatar
      Revert "[inspector] Fix `Runtime.setMaxCallStackSizeToCapture`." · c51b582d
      Benedikt Meurer authored
      This reverts commit 34f73cc7.
      
      Reason for revert: Performance regressions throughout a lot of
      system health and browsing benchmarks.
      
      Original change's description:
      > [inspector] Fix `Runtime.setMaxCallStackSizeToCapture`.
      >
      > This change fixes the implementation of the previously introduced API
      > `Runtime.setMaxCallStackSizeToCapture` to work correctly and also apply
      > (consistently) to stack traces captured by V8 when exceptions are
      > thrown. It does so in a fully backwards compatible manner.
      >
      > This change thus makes the previous fix for catapult (which landed in
      > http://crrev.com/c/3347789) effective, and therefore ensures that real
      > world performance benchmarks aren't affected by the use of the `Runtime`
      > domain in the catapult test framework.
      >
      > Bug: chromium:1283162, chromium:1278650, chromium:1258599
      > Bug: chromium:1280803, chromium:1280832, chromium:1280818
      > Fixed: chromium:1280831
      > Doc: https://bit.ly/v8-cheaper-inspector-stack-traces
      > Change-Id: I4ec951a858317fa49096cd4023deb0104d92c9c9
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3361839
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78458}
      
      Bug: chromium:1283162, chromium:1278650, chromium:1258599
      Bug: chromium:1280803, chromium:1280832, chromium:1280818
      Bug: chromium:1280831
      Change-Id: Id1efaffa2f7f08c47f833f68b8a297494edee21e
      Fixed: chromium:1283751, chromium:1283749, chromium:1283746
      Fixed: chromium:1283729, chromium:1283700, chromium:1283700
      Fixed: chromium:1283691, chromium:1283687, chromium:1283678
      Fixed: chromium:1283677, chromium:1283676, chromium:1283675
      Fixed: chromium:1283674, chromium:1283618, chromium:1283536
      Fixed: chromium:1283523, chromium:1283516
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364078
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78462}
      c51b582d
  5. 31 Dec, 2021 1 commit
  6. 29 Dec, 2021 1 commit
    • Benedikt Meurer's avatar
      [inspector] Correct location for inline scripts with sourceURL. · a81e8d16
      Benedikt Meurer authored
      Previously the `Debugger.CallFrame`s in `Debugger.paused` events would
      report locations relative to the surrounding document in case of inline
      scripts with `//@ sourceURL` annotations (while `Runtime.CallFrame` was
      already fixed previously as part of crrev.com/c/3069289). With this CL
      the locations in `Debugger.CallFrame` are also appropriately adjusted.
      
      Drive-by-fix: Several inspector tests were (incorrectly) relying on this
      wrong treatment, and were also unnecessarily using //# sourceURL
      annotations. So part of this CL also addresses that problem and makes
      the tests more robust, using addInlineScript() helper.
      
      Fixed: chromium:1283049
      Bug: chromium:1183990, chromium:578269
      Change-Id: I6e3b215d951c3453c0a9cfc9bccf3dc3d5e92fd6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3359619
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78450}
      a81e8d16
  7. 27 Dec, 2021 3 commits
  8. 24 Dec, 2021 1 commit
  9. 23 Dec, 2021 2 commits
  10. 22 Dec, 2021 5 commits
  11. 21 Dec, 2021 1 commit
  12. 20 Dec, 2021 5 commits
  13. 17 Dec, 2021 1 commit
  14. 16 Dec, 2021 6 commits