1. 29 Aug, 2022 9 commits
  2. 27 Aug, 2022 3 commits
  3. 26 Aug, 2022 24 commits
  4. 25 Aug, 2022 4 commits
    • Samuel Groß's avatar
      Revert "[sandbox] Forbid double-initialization of ExternalPointerSlots" · f7eda75e
      Samuel Groß authored
      This reverts commit a31e8f24.
      
      Reason for revert: Causes DCHECK failures with --stress-snapshot
      
      Original change's description:
      > [sandbox] Forbid double-initialization of ExternalPointerSlots
      >
      > Double initialization may cause the ExternalPointerTable compaction
      > algorithm to behave non-optimally: Consider the case of an Entry E1 that
      > is owned by a HeapObject O and is marked for evacuation during GC
      > marking. In that case, a new entry E2 is allocated for it, and during
      > sweeping, E1 will be evacuated into E2 and the Handle in O updated to
      > point to E2. However, if a new entry E3 for O is allocated before
      > sweeping, then during sweeping E3 (instead of E1) will be moved into E2.
      > This may then violate the invariant that the compaction algorithms
      > always evacuates an entry out of the evacuation area.
      >
      > This CL therefore forbids double initializaiton of external pointer
      > slots and adds DCHECKs to attempt to catch these in debug builds.
      >
      > Bug: v8:10391
      > Change-Id: I128dc930e8b3f863dab18ba648f34d68d8cb276b
      > 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/+/3856563
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Samuel Groß <saelo@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#82729}
      
      Bug: v8:10391
      Change-Id: I37e6728cc16fe79fa7d743417dc9938d58fb0474
      Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3857422
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/main@{#82732}
      f7eda75e
    • Danylo Boiko's avatar
      [turbolizer] Turboshaft nodes history fix · 45cce971
      Danylo Boiko authored
      Bug: v8:7327
      Change-Id: Ie10dd2b7fde80f100589b388644143e626b7e610
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3856570Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Danylo Boiko <danielboyko02@gmail.com>
      Cr-Commit-Position: refs/heads/main@{#82731}
      45cce971
    • Patrick Thier's avatar
      Prepare StringForwardingTable for external strings · 348adb07
      Patrick Thier authored
      - Move StringForwardingTable implementation to own compilation unit.
      - Refactoring preparing for layout change (Introduce explicit record
        class to make transition from contiguous Tagged_t fields to a
        heterogeneous record layout easier).
      - Replace RootVisitor pattern for transitioning/cleanup during GC with
        callback.
      - Minor cleanups.
      
      Bug: v8:12957
      Change-Id: Iae343393f470130eac0c54148a1303b67fb95aa4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3845635Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Patrick Thier <pthier@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82730}
      348adb07
    • Samuel Groß's avatar
      [sandbox] Forbid double-initialization of ExternalPointerSlots · a31e8f24
      Samuel Groß authored
      Double initialization may cause the ExternalPointerTable compaction
      algorithm to behave non-optimally: Consider the case of an Entry E1 that
      is owned by a HeapObject O and is marked for evacuation during GC
      marking. In that case, a new entry E2 is allocated for it, and during
      sweeping, E1 will be evacuated into E2 and the Handle in O updated to
      point to E2. However, if a new entry E3 for O is allocated before
      sweeping, then during sweeping E3 (instead of E1) will be moved into E2.
      This may then violate the invariant that the compaction algorithms
      always evacuates an entry out of the evacuation area.
      
      This CL therefore forbids double initializaiton of external pointer
      slots and adds DCHECKs to attempt to catch these in debug builds.
      
      Bug: v8:10391
      Change-Id: I128dc930e8b3f863dab18ba648f34d68d8cb276b
      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/+/3856563Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82729}
      a31e8f24