[PATCH] [TSan] Use StackTrace from sanitizer_common where applicable

Alexey Samsonov vonosmas at gmail.com
Mon Oct 27 14:51:20 PDT 2014


Hi dvyukov,

This change removes __tsan::StackTrace class. There are
now three alternatives:
1) Lightweight __sanitizer::StackTrace, which doesn't own a buffer
of PCs. It is used in functions that need stack traces in read-only
mode, and helps to prevent unnecessary allocations/copies (e.g.
for StackTraces fetched from StackDepot).
2) __sanitizer::BufferedStackTrace, whic stores buffer of PCs in
a constant array. It is used in TraceHeader.
3) __sanitizer::VarSizeStackTrace, which owns buffer of PCs, dynamically
allocated through TSan internal allocator.

http://reviews.llvm.org/D6004

Files:
  lib/sanitizer_common/sanitizer_stacktrace.cc
  lib/sanitizer_common/sanitizer_stacktrace.h
  lib/tsan/rtl/tsan_defs.h
  lib/tsan/rtl/tsan_interceptors.cc
  lib/tsan/rtl/tsan_interface_ann.cc
  lib/tsan/rtl/tsan_interface_atomic.cc
  lib/tsan/rtl/tsan_interface_java.cc
  lib/tsan/rtl/tsan_mman.cc
  lib/tsan/rtl/tsan_rtl.cc
  lib/tsan/rtl/tsan_rtl.h
  lib/tsan/rtl/tsan_rtl_mutex.cc
  lib/tsan/rtl/tsan_rtl_report.cc
  lib/tsan/rtl/tsan_stack_trace.cc
  lib/tsan/rtl/tsan_stack_trace.h
  lib/tsan/rtl/tsan_trace.h
  lib/tsan/tests/unit/tsan_stack_test.cc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6004.15500.patch
Type: text/x-patch
Size: 27244 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141027/b42b34b7/attachment.bin>


More information about the llvm-commits mailing list