summaryrefslogtreecommitdiff
path: root/libunwindstack/tests/MemoryFileTest.cpp
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2017-03-15 11:01:03 -0700
committerHans Boehm <hboehm@google.com>2017-03-17 17:47:28 -0700
commit7f0b2601d37e758e007f53f776889ae362fc246e (patch)
treef06ee23f679d817c0f6767d5c791b009c9d254ff /libunwindstack/tests/MemoryFileTest.cpp
parent1d1de8e282106910bcb67c9750a2df6e830b39be (diff)
Add heuristic data race detection to sp<>
Force assignment to read the old pointer value twice, and check that it didn't change in the interim. Previous experience with Skia suggests that this has a high probability of correctly detecting a data race when it occurs, instead of potentially letting the count associated with the old pointer value get decremented twice, and corrupting the heap. This does increase the size of sp assignments, which seem to commonly get inlined. For the general case, we add a third comparison and function call. Some code reformatting to make this consistent with modern conventions and pass automated checks. Test: Booted aosp build. Ran libutils tests. Looked at generated code. Bug: 31227650 Change-Id: Id93a05c6bf10f01ee15ff1bb409611f2058f988f
Diffstat (limited to 'libunwindstack/tests/MemoryFileTest.cpp')
0 files changed, 0 insertions, 0 deletions