1. 26 Jul, 2022 1 commit
  2. 25 Jul, 2022 2 commits
  3. 22 Jul, 2022 2 commits
  4. 20 Jul, 2022 2 commits
  5. 18 Jul, 2022 1 commit
    • Clemens Backes's avatar
      [wasm] Assume positive stack offsets · 6b2dc157
      Clemens Backes authored
      The stack offsets of cache slots are always positive, but the compiler
      does not know that. The lack of this knowledge makes division by the
      system pointer size significantly more expensive.
      
      One solution would be to rewrite the division to be an actual right
      shift. Another solution is to teach the compiler that offsets are
      positive. This CL does the latter.
      
      This reduces the overall Liftoff compile time of the reproducer in the
      linked issue by nearly 25%.
      
      R=jkummerow@chromium.org, cbruni@chromium.org
      
      Bug: v8:13063
      Change-Id: Ib55b35d407e9909c792ae095a6767aaa03faebdc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3760453Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81778}
      6b2dc157
  6. 14 Jul, 2022 1 commit
  7. 13 Jul, 2022 4 commits
  8. 12 Jul, 2022 2 commits
  9. 11 Jul, 2022 1 commit
    • Samuel Groß's avatar
      [sandbox] Prepare ExternalPointerTable rollout · 8a59678b
      Samuel Groß authored
      This CL does the following:
      - It enables (i.e. allocates and initializes) the per-Isolate
        ExternalPointerTable when the sandbox is enabled.
      - It refactors the list of external pointer tags to mark them as
        "sandboxed" or "unsandboxed". An unsandboxed external pointer has a
        null tag.
      - It changes V8_SANDBOXED_EXTERNAL_POINTERS to now essentially just
        enable sandboxing for all available tags.
      - It modifies all low-level external pointer accessors to perform the
        ExternalPointerLookup only if the tag is non-zero and otherwise treat
        the slot as containing a raw pointer.
      
      This now allows rolling out external pointer sandboxing incrementally
      (separately for each external pointer type), which will in turn allow
      for more precise performance measurements of the impact of the sandbox.
      
      Note: when an external pointer tag is now marked as sandboxed (and
      V8_SANDBOXED_EXTERNAL_POINTERS is not enabled), the underlying slots are
      still 64-bits in size. This simplifies the implementation as we would
      otherwise need to deal with variably-sized external pointer slots. Local
      benchmarking suggests that the benefits from 32-bit external pointer
      slots are insignificant on typical benchmarks, so this should be ok.
      
      Drive-by: rename kExternalPointerSize to kExternalPointerSlotSize to
      make it more clear what it refers to (the on-heap storage size). Also
      delete CodeStubAssembler::InitializeExternalPointerField as it is not
      currently used and the implementation is fairly inefficient.
      
      Bug: v8:10391
      Change-Id: I7c38729c7e9048d737a1a8ced84749f5b1f7feab
      Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3736447Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81636}
      8a59678b
  10. 08 Jul, 2022 3 commits
  11. 07 Jul, 2022 6 commits
  12. 06 Jul, 2022 1 commit
  13. 05 Jul, 2022 1 commit
  14. 04 Jul, 2022 2 commits
  15. 01 Jul, 2022 5 commits
  16. 30 Jun, 2022 3 commits
  17. 29 Jun, 2022 3 commits