hanchenye-llvm-project/lldb/source/Expression
Adrian Prantl b51804e0d8 DWARFExpression: Convert file addresses to load addresses early on.
This is a change that only affects Swift and is NFC for the language
plugins on llvm.org. In Swift, we can have global variables with a
location such as DW_OP_addr <addr> DW_OP_deref. The DWARF expression
evaluator doesn't know how to apply a DW_OP_deref to a file address,
but at the very end we convert the file address into a load address.

This patch moves the file->load address conversion to right after the
result of the DW_OP_addr is pushed onto the stack so that a subsequent
DW_OP_deref (and potentially other operations) can be interpreted.

rdar://problem/39767528

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

llvm-svn: 331492
2018-05-03 23:32:47 +00:00
..
CMakeLists.txt
DWARFExpression.cpp DWARFExpression: Convert file addresses to load addresses early on. 2018-05-03 23:32:47 +00:00
DiagnosticManager.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
Expression.cpp
ExpressionSourceCode.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
ExpressionVariable.cpp Refactor GetNextPersistentVariableName into a non-virtual method 2018-04-30 23:59:17 +00:00
FunctionCaller.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
IRDynamicChecks.cpp Enable AUTOBRIEF in doxygen configuration. 2018-05-02 16:55:16 +00:00
IRExecutionUnit.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
IRInterpreter.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
IRMemoryMap.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
LLVMUserExpression.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
Materializer.cpp Refactor GetNextPersistentVariableName into a non-virtual method 2018-04-30 23:59:17 +00:00
REPL.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
UserExpression.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
UtilityFunction.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00