1. 13 Jul, 2022 2 commits
  2. 12 Jul, 2022 1 commit
  3. 11 Jul, 2022 3 commits
    • Anton Bikineev's avatar
      cppgc: Force inline Member · 4b25eaef
      Anton Bikineev authored
      With pointer compression enabled the compiler may not inline some Member
      functions on some platforms, because Member stores and loads become
      slightly more expensive. Inlining is however important with pointer
      compression - it allows to further optimize the code by eliminating
      the global load.
      
      Bug: chromium:1325007
      Change-Id: Ia37d223e78853a8218e0b2732a3f08aa58929000
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3756141Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81648}
      4b25eaef
    • Maksim Sadym's avatar
      Fix Date BiDi format · 126d4779
      Maksim Sadym authored
      1. Add `toISOString` to `v8::Date`.
      2. Switch serialization to `ISOString`.
      
      Bug: v8:13043
      Change-Id: I8a852f4a4a46bb3b8e5d52ef3cdffde7a408b403
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3749203
      Auto-Submit: Maksim Sadym <sadym@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81647}
      126d4779
    • 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
  4. 07 Jul, 2022 1 commit
  5. 05 Jul, 2022 3 commits
  6. 04 Jul, 2022 1 commit
  7. 29 Jun, 2022 2 commits
  8. 28 Jun, 2022 3 commits
    • Anton Bikineev's avatar
      cppgc: shared-cage: Fix UaF when lsan is enabled · a1da1458
      Anton Bikineev authored
      Before this CL, the caged heap was lazily initialized upon the first
      call of HeapBase ctor. CagedHeap keeps a pointer to PageAllocator which
      was provided from cppgc::Platform through the HeapBase ctor. This was
      not generally safe: the platform is not enforced to be singleton. If it
      happens to die first, then CagedHeap will have a stale pointer. The CL
      fixes it simply by moving caged-heap initialization to
      cppgc::InitializeProcess(), which already requires a constantly living
      PageAllocator.
      
      Bug: chromium:1338030
      Change-Id: Ifb70a2db233ef36a99c919db09bed9ff9f3708ac
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3732107
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81422}
      a1da1458
    • Andreas Haas's avatar
      [wasm] Remove WasmModuleObjectBulderStreaming · 5e55121e
      Andreas Haas authored
      The class is dead code, and has not been used for years. I tried to
      deprecate the class first, but this caused build errors on GCC [1].
      That's why this CL just deletes the class. Deleting the class is okay
      because this class was part of the original implementation of streaming
      compilation. There is only a single embedder who uses streaming
      compilation, which is Chrome, and Chrome switched to the new API
      already years ago. If there were other embedders that use this class,
      then this embedder would already have no working implementation of
      streaming compilation for years.
      
      R=adamk@chromium.org
      
      Bug: v8:12926
      Change-Id: I3342167245822cf8ee52d9632cba236fb1b0646c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3714236
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81421}
      5e55121e
    • Seth Brenith's avatar
      Allow embedder to provide source text during code cache deserialization · 80575e28
      Seth Brenith authored
      This change is only to get the API in place; the newly added functions
      don't yet do anything.
      
      Bug: v8:12808
      Change-Id: Ic6a697d4f62c2b61761b2545dae6fcdf37653bbf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3681880Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/main@{#81418}
      80575e28
  9. 27 Jun, 2022 4 commits
  10. 23 Jun, 2022 1 commit
  11. 21 Jun, 2022 1 commit
  12. 20 Jun, 2022 1 commit
  13. 16 Jun, 2022 1 commit
  14. 15 Jun, 2022 5 commits
  15. 14 Jun, 2022 5 commits
  16. 13 Jun, 2022 5 commits
  17. 10 Jun, 2022 1 commit