diff options
author | Sean Callanan <scallanan@apple.com> | 2016-02-13 00:01:46 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2016-02-13 00:01:46 +0000 |
commit | 2a8fa2a888ea2a34ae9aaafd4e30d53241bb9dd6 (patch) | |
tree | f196f027f989b38b14edeae9e934e22f9b9905e0 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h | |
parent | f45270342c387fa772e448e0b75c1c23d10d1584 (diff) | |
download | bcm5719-llvm-2a8fa2a888ea2a34ae9aaafd4e30d53241bb9dd6.tar.gz bcm5719-llvm-2a8fa2a888ea2a34ae9aaafd4e30d53241bb9dd6.zip |
Removed many JIT workarounds from IRForTarget.
Since IRExecutionUnit is now capable of looking up symbols, and the JIT is up to
the task of generating the appropriate relocations, we don't need to do all the
work that IRForTarget used to do to fixup symbols at the IR level.
We also don't need to allocate data manually (with its attendant bugs) because
the JIT is capable of doing so without crashing.
We also don't need the awkward lldb.call.realName metadata to determine what
calls are objc_msgSend, because they now just reference objc_msgSend.
To make this work, we ensure that we recognize which symbols are extern "C" and
report them to the compiler as such. We also report the full Decl of functions
rather than just making up top-level functions with the appropriate types.
This should not break any testcases, but let me know if you run into any issues.
<rdar://problem/22864926>
llvm-svn: 260768
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h index 35833e87558..537db71cfeb 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h @@ -265,25 +265,6 @@ public: uint64_t &ptr); //------------------------------------------------------------------ - /// [Used by IRForTarget] Get the address of a function given nothing - /// but its name. Some functions are needed but didn't get Decls made - /// during parsing -- specifically, sel_registerName is never called - /// in the generated IR but we need to call it nonetheless. - /// - /// @param[in] name - /// The name of the function. - /// - /// @param[out] ptr - /// The absolute address of the function in the target. - /// - /// @return - /// True if the address could be retrieved; false otherwise. - //------------------------------------------------------------------ - bool - GetFunctionAddress (const ConstString &name, - uint64_t &ptr); - - //------------------------------------------------------------------ /// [Used by IRForTarget] Get the address of a symbol given nothing /// but its name. /// |