llvm-project/compiler-rt/lib/memprof
Dmitry Vyukov dfd9808b6c sanitizer_common: add simpler ThreadRegistry ctor
Currently ThreadRegistry is overcomplicated because of tsan,
it needs tid quarantine and reuse counters. Other sanitizers
don't need that. It also seems that no other sanitizer now
needs max number of threads. Asan used to need 2^24 limit,
but it does not seem to be needed now. Other sanitizers blindly
copy-pasted that without reasons. Lsan also uses quarantine,
but I don't see why that may be potentially needed.

Add a ThreadRegistry ctor that does not require any sizes
and use it in all sanitizers except for tsan.
In preparation for new tsan runtime, which won't need
any of these parameters as well.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D105713
2021-07-13 22:52:25 -07:00
..
CMakeLists.txt [CMake] Remove cxx-headers from runtime deps 2020-10-30 20:03:38 -07:00
README.txt
memprof.syms.extra
memprof_allocator.cpp sanitizer_common: add thread safety annotations 2021-07-12 11:46:49 +02:00
memprof_allocator.h [msan] Remove dead function/fields 2021-04-29 23:08:39 +00:00
memprof_descriptions.cpp sanitizer_common: introduce kInvalidTid/kMainTid 2021-04-30 15:58:05 +02:00
memprof_descriptions.h
memprof_flags.cpp
memprof_flags.h
memprof_flags.inc
memprof_init_version.h
memprof_interceptors.cpp [sanitizers] Fix interception of GLibc regexec 2021-03-08 10:53:55 +00:00
memprof_interceptors.h [sanitizers] Fix interception of GLibc regexec 2021-03-08 10:53:55 +00:00
memprof_interceptors_memintrinsics.cpp
memprof_interceptors_memintrinsics.h
memprof_interface_internal.h [MemProf] Add interface to dump profile 2020-11-19 10:21:53 -08:00
memprof_internal.h
memprof_linux.cpp [asan][memprof] Declare _DYNAMIC and fix -Wparentheses 2020-12-27 20:28:59 -08:00
memprof_malloc_linux.cpp
memprof_mapping.h [asan][memprof] Declare _DYNAMIC and fix -Wparentheses 2020-12-27 20:28:59 -08:00
memprof_new_delete.cpp
memprof_posix.cpp
memprof_preinit.cpp
memprof_rtl.cpp sanitizer_common: deduplicate CheckFailed 2021-05-12 08:50:53 +02:00
memprof_shadow_setup.cpp
memprof_stack.cpp
memprof_stack.h sanitizer_common: deduplicate CheckFailed 2021-05-12 08:50:53 +02:00
memprof_stats.cpp
memprof_stats.h
memprof_thread.cpp sanitizer_common: add simpler ThreadRegistry ctor 2021-07-13 22:52:25 -07:00
memprof_thread.h sanitizer_common: add simpler ThreadRegistry ctor 2021-07-13 22:52:25 -07:00
weak_symbols.txt

README.txt

MemProfiling RT
================================
This directory contains sources of the MemProfiling (MemProf) runtime library.

Directory structure:
README.txt       : This file.
CMakeLists.txt   : File for cmake-based build.
memprof_*.{cc,h}    : Sources of the memprof runtime library.

Also MemProf runtime needs the following libraries:
lib/interception/      : Machinery used to intercept function calls.
lib/sanitizer_common/  : Code shared between various sanitizers.

MemProf runtime can only be built by CMake. You can run MemProf tests
from the root of your CMake build tree:

make check-memprof