[all-commits] [llvm/llvm-project] e33735: This is a refinement on 96601ec28b7efe5abf3479a1aa...

jimingham via All-commits all-commits at lists.llvm.org
Fri Jul 10 11:12:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e337350be9d6efd72027c331f95ef33df61fdc43
      https://github.com/llvm/llvm-project/commit/e337350be9d6efd72027c331f95ef33df61fdc43
  Author: Jim Ingham <jingham at apple.com>
  Date:   2020-07-10 (Fri, 10 Jul 2020)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/include/lldb/Core/ValueObjectVariable.h
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectVariable.cpp

  Log Message:
  -----------
  This is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two.

The problem is that synthetic value objects can sometimes represent objects in target memory, and other times they might be made up wholly in lldb memory, with pointers from one synthetic object to another, and so the ValueObjectVariable computation was not appropriate.

This patch delegates the computation to the root of the ValueObject in question. That solves the problem for ValueObjectVariable while not messing up the computation for ValueObjectConstResult or ValueObjectSynthetic.

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




More information about the All-commits mailing list