1. 10 Oct, 2021 1 commit
  2. 08 Oct, 2021 1 commit
  3. 16 Aug, 2021 1 commit
  4. 16 Mar, 2021 1 commit
  5. 09 Feb, 2021 1 commit
  6. 17 Mar, 2020 1 commit
  7. 31 Jan, 2020 1 commit
  8. 10 Jan, 2020 1 commit
  9. 13 Sep, 2019 2 commits
  10. 12 Sep, 2019 1 commit
  11. 11 Sep, 2019 3 commits
  12. 06 Sep, 2019 1 commit
  13. 05 Sep, 2019 2 commits
  14. 09 Aug, 2019 1 commit
  15. 17 Jul, 2019 2 commits
  16. 15 Jul, 2019 1 commit
    • Clemens Hammacher's avatar
      [wasm] Split jump table and lazy compile table · 56eaec9d
      Clemens Hammacher authored
      We had both jump slots and lazy compile slots in the same table. This
      increases the space per slot to the maximum of the two, even though we
      often do not use lazy compilation and could have smaller jump slots.
      This CL splits the two into two separate tables. The lazy compile table
      will only be created on demand, and will never be patched.
      The jump table now only contains jumps, and is more compact (which
      might improve performance because of improved locality).
      
      R=mstarzinger@chromium.org
      
      Bug: v8:9477
      Change-Id: Ie182873a1ec612f71d1b54447021a9a8f8ca59db
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698393Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62707}
      56eaec9d
  17. 21 May, 2019 1 commit
  18. 17 Apr, 2019 1 commit
  19. 27 Mar, 2019 1 commit
  20. 01 Mar, 2019 1 commit
  21. 15 Feb, 2019 1 commit
  22. 13 Feb, 2019 1 commit
  23. 07 Feb, 2019 1 commit
  24. 17 Jan, 2019 1 commit
  25. 08 Aug, 2018 1 commit
  26. 07 Aug, 2018 2 commits
  27. 06 Aug, 2018 1 commit
  28. 06 Jul, 2018 1 commit
  29. 21 Jun, 2018 1 commit
  30. 20 Jun, 2018 2 commits
    • Predrag Rudic's avatar
      MIPS[64] Port "[wasm] Introduce jump table" · e0ddc6d2
      Predrag Rudic authored
      Port of 733b7c82
      
      Original description:
      > [wasm] Introduce jump table
      >
      > This introduces the concept of a jump table for WebAssembly, which is
      > used for every direct and indirect call to any WebAssembly function.
      > For lazy compilation, it will initially contain code to call the
      > WasmCompileLazy builtin, where it passes the function index to be
      > called.
      > For non-lazy-compilation, it will contain a jump to the actual code.
      > The jump table allows to easily redirect functions for lazy
      > compilation, tier-up, debugging and (in the future) code aging. After
      > this CL, we will not need to patch existing code any more for any of
      > these operations.
      >
      > R=mstarzinger@chromium.org, titzer@chromium.org
      >
      > Bug: v8:7758
      > Change-Id: I45f9983c2b06ae81bf5ce9847f4542fb48844a4f
      > Reviewed-on: https://chromium-review.googlesource.com/1097075
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53805}
      
      Change-Id: Ifa7c2abe89a6dc5dbb03a547db2fab68e292f344
      Reviewed-on: https://chromium-review.googlesource.com/1107630
      Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com>
      Reviewed-by: 's avatarIvica Bogosavljevic <ivica.bogosavljevic@mips.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53893}
      e0ddc6d2
    • Ben L. Titzer's avatar
      [asm] Rework Assembler::IsolateData into Assembler::Options · 4252d53f
      Ben L. Titzer authored
      This CL attempts to simplify the Assembler's dependency on the
      isolate, in particular on a global "serializer_enabled" mode contained
      therein. The "serializer_enabled" condition enabled and disabled
      a number of things in both the assemblers and macro assemblers. To
      make these dependencies explicit, the Assembler::IsolateData is refactored
      to be a proper Assembler::Options struct that controls specific assembler
      behaviors, with default settings easily computable from the isolate.
      
      This also helps make the contract for compiling WASM code more explicit
      (since WASM code needs to have reloc info recorded for external references)
      we can explicitly enable this recording without trying to "trick" the
      assembler using "serializer_enabled".
      
      R=jgruber@chromium.org
      CC=mstarzinger@chromium.org, herhut@chromium.org
      
      Change-Id: I7a8ba49df7b75b292d73ec2aa6e507c27a3d99c8
      Reviewed-on: https://chromium-review.googlesource.com/1105982
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53890}
      4252d53f
  31. 19 Jun, 2018 3 commits
    • Junliang Yan's avatar
      PPC/s390: [wasm] Introduce jump table · eafcdc96
      Junliang Yan authored
      Port 733b7c82
      
      Original Commit Message:
      
          This introduces the concept of a jump table for WebAssembly, which is
          used for every direct and indirect call to any WebAssembly function.
          For lazy compilation, it will initially contain code to call the
          WasmCompileLazy builtin, where it passes the function index to be
          called.
          For non-lazy-compilation, it will contain a jump to the actual code.
          The jump table allows to easily redirect functions for lazy
          compilation, tier-up, debugging and (in the future) code aging. After
          this CL, we will not need to patch existing code any more for any of
          these operations.
      
      R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG= v8:7758
      
      Change-Id: I1a370910ffa56dbdd609be6922067842a6adf1df
      Reviewed-on: https://chromium-review.googlesource.com/1105060
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53852}
      eafcdc96
    • Clemens Hammacher's avatar
      [wasm] Fix jump table for long jumps on arm · d5177a02
      Clemens Hammacher authored
      Direct jumps only work for offset up to 64 MB on arm. For longer jumps,
      use indirect branches (load target from constant pool into the pc
      register).
      
      R=mstarzinger@chromium.org
      CC=pierre.langlois@arm.com
      
      Bug: v8:7758
      Change-Id: I1cf66b7d1bfb62cfcd6b1619c02816909a1f651e
      Reviewed-on: https://chromium-review.googlesource.com/1105996
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53847}
      d5177a02
    • Clemens Hammacher's avatar
      Reland "[wasm] Introduce jump table" · 5f56641b
      Clemens Hammacher authored
      This is a reland of 733b7c82.
      The arm64 bug was fixed in https://crrev.com/c/1105051.
      
      Original change's description:
      > [wasm] Introduce jump table
      >
      > This introduces the concept of a jump table for WebAssembly, which is
      > used for every direct and indirect call to any WebAssembly function.
      > For lazy compilation, it will initially contain code to call the
      > WasmCompileLazy builtin, where it passes the function index to be
      > called.
      > For non-lazy-compilation, it will contain a jump to the actual code.
      > The jump table allows to easily redirect functions for lazy
      > compilation, tier-up, debugging and (in the future) code aging. After
      > this CL, we will not need to patch existing code any more for any of
      > these operations.
      >
      > R=mstarzinger@chromium.org, titzer@chromium.org
      >
      > Bug: v8:7758
      > Change-Id: I45f9983c2b06ae81bf5ce9847f4542fb48844a4f
      > Reviewed-on: https://chromium-review.googlesource.com/1097075
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53805}
      
      TBR=titzer@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:7758
      Change-Id: I68555230c6db97e70f0b8fef784188f55ee04794
      Reviewed-on: https://chromium-review.googlesource.com/1105158
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53829}
      5f56641b