Files
clang-p2996/lldb/source/Symbol/UnwindPlan.cpp
Felipe de Azevedo Piovezan 9fe455fd0c [lldb] Add constant value mode for RegisterLocation in UnwindPlans (#100624)
This is useful for language runtimes that compute register values by
inspecting the state of the currently running process. Currently, there
are no mechanisms enabling these runtimes to set register values to
arbitrary values.

The alternative considered would involve creating a dwarf expression
that produces an arbitrary integer (e.g. using OP_constu). However, the
current data structure for Rows is such that they do not own any memory
associated with dwarf expressions, which implies any such expression
would need to have static storage and therefore could not contain a
runtime value.

Adding a new rule for constants leads to a simpler implementation. It's
also worth noting that this does not make the "Location" union any
bigger, since it already contains a pointer+size pair.
2024-07-31 10:25:31 -07:00

19 KiB