[all-commits] [llvm/llvm-project] ffc053: [lldb] Use the non-locking variant of objc_copyRea...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Jun 25 15:03:02 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ffc0533855871f4c784f6535044ce7c2bd076392
      https://github.com/llvm/llvm-project/commit/ffc0533855871f4c784f6535044ce7c2bd076392
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2021-06-25 (Fri, 25 Jun 2021)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

  Log Message:
  -----------
  [lldb] Use the non-locking variant of objc_copyRealizedClassList

Avoid standing the Objective-C runtime lock by calling
objc_copyRealizedClassList_nolock instead of objc_copyRealizedClassList.

We already guarantee that no other threads can run while we're running
this utility expression, similar to when we parse the data ourselves
from the gdb_objc_realized_classes struct.

Worst case this will crash if the list is getting edited, which won't do
any harm and we'll just try again later.

Differential revision: https://reviews.llvm.org/D104951




More information about the All-commits mailing list