1. 06 May, 2021 1 commit
    • Clemens Backes's avatar
      Reland "[elements] Avoid racy data reads/writes" · 63b7afb4
      Clemens Backes authored
      This is a reland of 296fa964. The fix is
      to dynamically check for alignment instead of relying on
      {alignof(ElementType)}. I updated the comment to state that independent
      of pointer compression we do not guarantee the alignment that the
      compiler assumes (hence we rely on undefined behaviour here).
      
      Original change's description:
      > [elements] Avoid racy data reads/writes
      >
      > Instead of annotating those racy reads / writes to be ignore by TSan,
      > just use relaxed atomics. This makes us not rely on undefined behaviour,
      > and is unlikely to introduce noticeable overhead.
      >
      > This removes the only uses of TSAN_ANNOTATE_IGNORE_WRITES_BEGIN and
      > friends, which allows us to remove the whole tsan.h header.
      >
      > R=ulan@chromium.org
      > CC=​mlippautz@chromium.org
      >
      > Bug: v8:11704
      > Change-Id: Ie6694c0ae5b40856b56fb97253ce626ec1f4c263
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859957
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74321}
      
      Bug: v8:11704
      Change-Id: If75674785ca776dac06ed821f0032f865793dd77
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_odroid_arm_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2867479Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74402}
      63b7afb4
  2. 03 May, 2021 2 commits
    • Nico Hartmann's avatar
      Revert "[elements] Avoid racy data reads/writes" · c42a0c95
      Nico Hartmann authored
      This reverts commit 296fa964.
      
      Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20-%20debug/18616/overview
      
      Original change's description:
      > [elements] Avoid racy data reads/writes
      >
      > Instead of annotating those racy reads / writes to be ignore by TSan,
      > just use relaxed atomics. This makes us not rely on undefined behaviour,
      > and is unlikely to introduce noticeable overhead.
      >
      > This removes the only uses of TSAN_ANNOTATE_IGNORE_WRITES_BEGIN and
      > friends, which allows us to remove the whole tsan.h header.
      >
      > R=​ulan@chromium.org
      > CC=​​mlippautz@chromium.org
      >
      > Bug: v8:11704
      > Change-Id: Ie6694c0ae5b40856b56fb97253ce626ec1f4c263
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859957
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74321}
      
      Bug: v8:11704
      Change-Id: Ia14b39eccfc02051728a562685a3a8eb8ffde4b6
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2867475Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74328}
      c42a0c95
    • Clemens Backes's avatar
      [elements] Avoid racy data reads/writes · 296fa964
      Clemens Backes authored
      Instead of annotating those racy reads / writes to be ignore by TSan,
      just use relaxed atomics. This makes us not rely on undefined behaviour,
      and is unlikely to introduce noticeable overhead.
      
      This removes the only uses of TSAN_ANNOTATE_IGNORE_WRITES_BEGIN and
      friends, which allows us to remove the whole tsan.h header.
      
      R=ulan@chromium.org
      CC=​mlippautz@chromium.org
      
      Bug: v8:11704
      Change-Id: Ie6694c0ae5b40856b56fb97253ce626ec1f4c263
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859957Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74321}
      296fa964
  3. 27 Apr, 2021 1 commit
  4. 26 Apr, 2021 1 commit
  5. 30 Jul, 2020 1 commit
    • Dan Elphick's avatar
      [platform] Add SharedMemory allocation and mapping · c1c38e19
      Dan Elphick authored
      This adds new methods AllocateSharedPages, ReserveForSharedMemoryMapping
      and CanAllocateSharedPages to v8::PageAllocator, which if overridden
      allows the platform to declare that it supports allocation and remapping
      of shared memory.
      
      This interface is currently a work in progress so the new methods are
      marked "INTERNAL ONLY" and they may change without being first
      deprecated.
      
      An implementation of PageAllocator is provided that can allocate and map
      shared memory on Linux and Android, but no other platforms are yet
      supported. While Windows is not supported the interface has been
      designed to make this possible as AllocateSharedPages returns a
      SharedMemory object that wraps the shared memory and provides its own
      remap function. This should allow the SharedMemory object on windows to
      contain a mapping a to hFileMappingObject as required by
      MapViewOfFileEx.
      
      Bug: v8:10454
      Change-Id: I2e601d49ea14da44867a102c823fa4e341cf0dab
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306789Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69154}
      c1c38e19
  6. 26 Sep, 2019 1 commit
  7. 04 Sep, 2019 1 commit
  8. 12 Aug, 2019 1 commit
  9. 24 May, 2019 1 commit
  10. 22 May, 2019 1 commit
  11. 21 May, 2019 1 commit