v8/test/unittests
Shu-yu Guo 7ff1857560 Reland "[shared-struct] Add Atomics.Mutex"
This is a reland of commit ea9a1f1cbe

Changes since revert:
- Make the state field uintptr-aligned since arm64 faults on
  atomic accesses to non-naturally aligned addresses.

Original change's description:
> [shared-struct] Add Atomics.Mutex
>
> This CL adds a moving GC-safe, JS-exposed mutex behind the
> --harmony-struct flag. It uses a ParkingLot-inspired algorithm and
> each mutex manages its own waiter queue.
>
> For more details, please see the design doc: https://docs.google.com/document/d/1QHkmiTF770GKxtoP-VQ1eKF42MpedLUeqiQPfCqus0Y/edit?usp=sharing
>
> Bug: v8:12547
> Change-Id: Ic58f8750d2e14ecd573173d17d5235a136bedef9
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595460
> Commit-Queue: Shu-yu Guo <syg@chromium.org>
> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#80789}

Bug: v8:12547
Change-Id: I776cbf6ea860dcc6cb0ac51694a9b584b53d255c
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3673354
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80875}
2022-06-01 01:12:07 +00:00
..
api [heap] Fix test failure with disabled map space 2022-05-24 12:31:51 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler S390: Add missing headers to disasm-s390-unittest 2022-05-31 17:51:08 +00:00
base [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
codegen [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
compiler [wasm] Fix effect chain, enable its verification 2022-05-31 12:37:27 +00:00
compiler-dispatcher [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
date [test] Move cctest/test-date to unittests 2022-04-26 08:14:32 +00:00
debug [inspector] Speed up DebugPropertyIterator. 2021-09-13 12:52:11 +00:00
diagnostics [gdbjit] Fix overlapping AddressRegion check 2021-08-19 17:29:57 +00:00
execution [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
heap heap: Fix and clean up object start bitmap 2022-05-31 16:37:08 +00:00
interpreter [osr] Add JumpLoop feedback slot operand 2022-04-20 12:57:44 +00:00
js-atomics Reland "[shared-struct] Add Atomics.Mutex" 2022-06-01 01:12:07 +00:00
libplatform Reland "Reland "[test] Move tracing cctest to unittests"" 2022-05-31 16:16:57 +00:00
libsampler [test] move cctest/libsampler to unittests/libsampler 2022-05-17 09:51:27 +00:00
logging [log] Use v8_file_logger variable names more consistently 2022-05-09 13:58:24 +00:00
numbers [test] Move cctest/test-diy-fp to unittests/numbers/ 2022-05-31 07:34:19 +00:00
objects [test] Move cctest/test-symbols to unittests/objects/ 2022-05-30 06:33:57 +00:00
parser [test] Move cctest/test-decls to unittests/parser/ 2022-05-31 07:33:17 +00:00
profiler [test] Move cctest/test-circular-queue to unittests 2022-04-25 14:49:26 +00:00
regexp Reland "[test] Move cctest/test-regexp to unittests" 2022-04-29 16:23:32 +00:00
regress [heap] Remove Factory::NewUninitializedFixedArray 2021-04-26 13:52:38 +00:00
runtime Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
sandbox [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
strings [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
tasks [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
tracing [test] Move cctest/test-traced-value to unittests/tracing/ 2022-05-30 06:03:18 +00:00
utils [test] Move cctest/test-version to unittests/utils/ 2022-05-30 06:37:30 +00:00
wasm [wasm] Introduce type union and intersection 2022-05-30 10:49:56 +00:00
zone [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
avoid-windows-h-includes.cc Test that heap-inl.h doesn't include windows.h 2021-10-14 21:18:51 +00:00
BUILD.gn Reland "[shared-struct] Add Atomics.Mutex" 2022-06-01 01:12:07 +00:00
DEPS Reland "Reland "[test] Move tracing cctest to unittests"" 2022-05-31 16:16:57 +00:00
gay-fixed.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-fixed.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-precision.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-precision.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-shortest.cc [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
gay-shortest.h [test] Move cctest/{test-bignum-dtoa, test-dtoa 2022-05-17 01:38:57 +00:00
run-all-unittests.cc [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
test-helpers.cc [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
test-helpers.h [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
test-utils.cc Reland "[shared-struct] Add Atomics.Mutex" 2022-06-01 01:12:07 +00:00
test-utils.h Reland "[shared-struct] Add Atomics.Mutex" 2022-06-01 01:12:07 +00:00
testcfg.py [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
unittests.status [test] Move cctest/test-decls to unittests/parser/ 2022-05-31 07:33:17 +00:00