v8/test/mjsunit/shared-memory
Shu-yu Guo 4266684c99 [shared-struct] Make publishing of shared objects safe
Currently there is nothing ensuring the internal VM state of shared
objects are in a coherent state and visible to other threads when the
shared object is published.

This CL adds a store-store memory barrier when returning from Factory methods that allocate shared JSObjects that are exposed to user JS code. For primitives, there is an additional store-store memory barrier in the shared value barrier.

Bug: v8:12547
Change-Id: I4833c7ebf02cc352da9b006d2732669d6d043172
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng,v8_linux64_tsan_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3819041
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82596}
2022-08-19 15:14:32 +00:00
..
client-gc.js
condition-workers.js Reland^2 "[shared-struct] Add Atomics.Condition" 2022-08-11 00:12:22 +00:00
condition.js Reland^2 "[shared-struct] Add Atomics.Condition" 2022-08-11 00:12:22 +00:00
mutex-workers.js Reland "[shared-struct] Add Atomics.Mutex" 2022-06-01 01:12:07 +00:00
mutex.js [shared-struct] Fix unlocking in JSAtomicsMutex 2022-07-14 01:03:57 +00:00
shared-array-atomics-workers.js [shared-struct] Support shared arrays in Atomics.{load,store,exchange} 2022-07-05 15:49:01 +00:00
shared-array-atomics.js [shared-struct] Support shared arrays in Atomics.{load,store,exchange} 2022-07-05 15:49:01 +00:00
shared-array-surface.js [shared-struct] Shared Array Initial prototype 2022-06-22 02:24:46 +00:00
shared-array-workers.js [shared-struct] Shared Array Initial prototype 2022-06-22 02:24:46 +00:00
shared-string-in-code-object.js Reland^3 [heap] Support client-to-shared refs in Code objects 2022-02-14 12:33:57 +00:00
shared-string-in-weak-map.js Reland "[heap] Allow shared references in WeakMap" 2022-02-24 17:22:38 +00:00
shared-string-promotion-major.js Reland "[heap] Handle old-to-new slot promotion to shared heap" 2022-08-17 16:39:18 +00:00
shared-string-promotion-minor.js Reland "[heap] Handle old-to-new slot promotion to shared heap" 2022-08-17 16:39:18 +00:00
shared-string.js
shared-struct-atomics-workers.js [shared-struct] Support shared structs in Atomics.{load,store} 2022-03-10 02:23:44 +00:00
shared-struct-atomics.js [shared-struct] Support shared arrays in Atomics.{load,store,exchange} 2022-07-05 15:49:01 +00:00
shared-struct-surface.js [shared-struct] Shared Array Initial prototype 2022-06-22 02:24:46 +00:00
shared-struct-without-map-space.js [heap] Fix disabling of map space with --no-use-map-space flag 2022-04-05 13:14:53 +00:00
shared-struct-workers-optimized-code.js [shared-struct] Make publishing of shared objects safe 2022-08-19 15:14:32 +00:00
shared-struct-workers.js Reland "[shared-struct] Prototype JS shared structs" 2022-02-23 01:37:55 +00:00