[all-commits] [llvm/llvm-project] 8e489b: sanitizer_common: add simpler ThreadRegistry ctor

Dmitry Vyukov via All-commits all-commits at lists.llvm.org
Sun Jul 11 03:36:42 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8e489b4b96e31cfb004e03cfa1393c425c504013
      https://github.com/llvm/llvm-project/commit/8e489b4b96e31cfb004e03cfa1393c425c504013
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2021-07-11 (Sun, 11 Jul 2021)

  Changed paths:
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/lsan/lsan_thread.cpp
    M compiler-rt/lib/memprof/memprof_thread.cpp
    M compiler-rt/lib/memprof/memprof_thread.h
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h

  Log Message:
  -----------
  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




More information about the All-commits mailing list