[all-commits] [llvm/llvm-project] 8be139: [lldb] Add settings for expression evaluation memo...

Ilia Kuklin via All-commits all-commits at lists.llvm.org
Tue May 2 11:03:07 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8be139fc1251b99316d65403bde9c2326b12da20
  Author: Ilya Kuklin <ikuklin at accesssoftek.com>
  Date:   2023-05-02 (Tue, 02 May 2023)

  Changed paths:
    M lldb/include/lldb/Target/ABI.h
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Expression/IRMemoryMap.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    A lldb/test/API/commands/expression/memory-allocation/Makefile
    A lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py
    A lldb/test/API/commands/expression/memory-allocation/main.cpp

  Log Message:
  [lldb] Add settings for expression evaluation memory allocations.

Expression evaluation allocates memory for storing intermediate data during evaluation. For it to work properly it has to be allocated within target's available address space, for example within first 0xFFFF bytes for the 16-bit MSP430. The memory for such targets can be very tightly packed, but not all targets support GetMemoryRegionInfo API to pick an unused region, like MSP430 with MSPDebug GDB server.

These settings allow the programmer to manually pick precisely where and how much memory to allocate for expression evaluation in order not to overlap with existing data in process memory.

Reviewed By: bulbazord

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

More information about the All-commits mailing list