[all-commits] [llvm/llvm-project] 315600: [lldb][NFC] Remove ThreadSafeSTLVector and ThreadS...

Raphael Isemann via All-commits all-commits at lists.llvm.org
Tue Dec 3 00:19:16 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 315600f480055f5143aaa245f25bd25221edfa91
      https://github.com/llvm/llvm-project/commit/315600f480055f5143aaa245f25bd25221edfa91
  Author: Raphael Isemann <teemperor at gmail.com>
  Date:   2019-12-03 (Tue, 03 Dec 2019)

  Changed paths:
    R lldb/include/lldb/Core/ThreadSafeSTLMap.h
    R lldb/include/lldb/Core/ThreadSafeSTLVector.h
    M lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove ThreadSafeSTLVector and ThreadSafeSTLMap and their use in ValueObjectSynthetic

Summary:
ThreadSafeSTLVector and ThreadSafeSTLMap are not useful for achieving any degree of thread safety in LLDB
and should be removed before they are used in more places. They are only used (unsurprisingly incorrectly) in
`ValueObjectSynthetic::GetChildAtIndex`, so this patch replaces their use there with a simple mutex with which
we guard the related data structures. This doesn't make ValueObjectSynthetic::GetChildAtIndex
any more thread-safe, but on the other hand it at least allows us to get rid of the ThreadSafeSTL* data structures
without changing the observable behaviour of ValueObjectSynthetic (beside that it is now a few bytes smaller).

Reviewers: labath, JDevlieghere, jingham

Reviewed By: labath

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D70845




More information about the All-commits mailing list