dart-sdk/runtime
Ryan Macnak d3d92e316b [vm, tsan] Consistently modify the object header as a full word.
An address containing an object header is sometimes interpreted as a object slot due to array truncation and concurrent marking/sweeping. Always accessing it as a word assuages TSAN that it won't be subject to tearing, and allows for the removal of TSAN suppressions from header access. In turn, this will allow TSAN to verify some acquire/release header accesses.

TEST=tsan
Bug: https://github.com/dart-lang/sdk/issues/44091
Change-Id: I7bf6449bf7dfeabd9db76e4bb37456e3be2d5124
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172861
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-11-30 23:43:54 +00:00
..
bin [dartdev] move the location of the dartdev dill snapshot 2020-11-30 18:46:42 +00:00
docs [vm] Require all recognized methods to be marked with pragma. 2020-11-16 13:49:50 +00:00
include [vm/concurrency] Add Dart_CreateLightweightIsolate/Dart_RunLoopAsync APIs 2020-11-12 10:22:16 +00:00
lib [vm] Remove unused code related to RedirectionData 2020-11-17 08:51:30 +00:00
llvm_codegen [BUILD] - Format gn files, this is being done to ensure the unfork CL 2020-03-10 21:56:11 +00:00
observatory [ VM / Service ] Ensure printRetainingPath handles paths which include 2020-11-30 18:45:02 +00:00
observatory_2 [ VM / Service ] Ensure printRetainingPath handles paths which include 2020-11-30 18:45:02 +00:00
platform [test/ffi] Add C++ unit tests for all target ABIs 2020-11-16 16:10:55 +00:00
tests/vm [vm] Update status file, marking more tests as Pass, Slow 2020-11-26 19:16:04 +00:00
third_party Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
tools [test/ffi] Add C++ unit tests for all target ABIs 2020-11-16 16:10:55 +00:00
vm [vm, tsan] Consistently modify the object header as a full word. 2020-11-30 23:43:54 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.gitignore
BUILD.gn Remove bytecode mode of Dart SDK build 2020-10-21 22:43:14 +00:00
codereview.settings
configs.gni Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
CPPLINT.cfg
PRESUBMIT.py [Presubmit] Fixes presubmit for breaking API change. 2020-03-03 13:30:20 +00:00
runtime_args.gni Remove bytecode mode of Dart SDK build 2020-10-21 22:43:14 +00:00