[all-commits] [llvm/llvm-project] 37c4bd: [lldb] Add MemoryTagMap class

David Spickett via All-commits all-commits at lists.llvm.org
Wed Jan 26 05:56:02 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 37c4bd0fdbc6bc5ec6145765d6f4dcd06540201d
      https://github.com/llvm/llvm-project/commit/37c4bd0fdbc6bc5ec6145765d6f4dcd06540201d
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    A lldb/include/lldb/Target/MemoryTagMap.h
    M lldb/source/Target/CMakeLists.txt
    A lldb/source/Target/MemoryTagMap.cpp
    M lldb/unittests/Target/CMakeLists.txt
    A lldb/unittests/Target/MemoryTagMapTest.cpp

  Log Message:
  -----------
  [lldb] Add MemoryTagMap class

The tag map holds a sparse set of memory tags and allows
you to query ranges for tags.

Granules that do not have tags will be set to llvm::None.
to keep the ordering intact. If there are no tags for the
requested range we'll just return an empty result so that
callers don't need to check that all values are llvm::None.

This will be combined with MemoryTagManager's MakeTaggedRanges:
* MakeTaggedRanges
* Read from all those ranges
* Insert the results into the tag map
* Give the tag map to whatever needs to print tags

Which in this case will be "memory read"/DumpDataExtractor.

Reviewed By: JDevlieghere

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




More information about the All-commits mailing list