1. 29 Aug, 2022 6 commits
  2. 27 Aug, 2022 3 commits
  3. 26 Aug, 2022 24 commits
  4. 25 Aug, 2022 7 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
    • Michael Achenbach's avatar
      [foozzie] Augment launcher script to bisect to bugs before Python3 switch · 047f91b8
      Michael Achenbach authored
      Bugs that are older than the switch of v8_foozzie.py to Python3
      bisect to the switch commit unfortunately. This change attempts to
      let bisect run longer if a python2 executable still exists.
      
      No-Try: true
      Bug: chromium:1355824
      Change-Id: I457a50af21704ddd2985793861eee8be5601a673
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3856574Reviewed-by: 's avatarLiviu Rau <liviurau@google.com>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82728}
      047f91b8
    • Dominik Inführ's avatar
      [heap] No need for snapshotting protocol on ThinStrings · 4d66d9a5
      Dominik Inführ authored
      ThinStrings are not transitioned to other string representations, so we
      shouldn't need the snapshotting protocol for them.
      
      Change-Id: I17cee1a4171b10c441a005ac29bd232a0a065207
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3852489Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82727}
      4d66d9a5
    • Victor Gomes's avatar
      [maglev] Preparation to support exception handlers · f6b4e6ce
      Victor Gomes authored
      This does not enable exception handlers yet, we still bail out in
      MaglevCompiler::Compile if we have an exception handler table in
      the bytecode array.
      
      This CL:
      - Generates code for exception handler blocks (which previously were
      set as dead code)
      - Creates a machinery for nodes to set the property CanThrow
      - Reads the exception handler table from the bytecode array and
      identifies if we're emitting nodes inside a try-block and for which
      handler we should jump in case of an exception
      - Generates an exception handler table for Maglev code
      
      
      Change-Id: Ifc9d4cb7440d3222f4fda48a86e4e482340b3b15
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3854061
      Commit-Queue: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82726}
      f6b4e6ce