diff options
author | Jason Molenda <jmolenda@apple.com> | 2016-09-28 02:52:19 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2016-09-28 02:52:19 +0000 |
commit | 1c9858b298d79ce82c45a2954096718b39550109 (patch) | |
tree | 66d85b4ae0081c75616c8a7152419b9188ec21a4 /llvm/lib/CodeGen | |
parent | 4499145a5f5da49455fd7aab7996d1f283640ae5 (diff) | |
download | bcm5719-llvm-1c9858b298d79ce82c45a2954096718b39550109.tar.gz bcm5719-llvm-1c9858b298d79ce82c45a2954096718b39550109.zip |
Refactor the x86 UnwindAssembly class into a separate class called
x86AssemblyInspectionEngine and the current UnwindAssembly_x86 to
allow for the core engine to be exercised by unit tests.
The UnwindAssembly_x86 class will have access to Targets, Processes,
Threads, RegisterContexts -- it will be working in the full lldb
environment.
x86AssemblyInspectionEngine is layered away from all of that, it is
given some register definitions and a bag of bytes to profile.
I wrote an initial unittest for a do-nothing simple x86_64/i386
function to start with. I'll be adding more.
The x86 assembly unwinder was added to lldb early in its bringup;
I made some modernization changes as I was refactoring the code
to make it more consistent with how we write lldb today.
I also added RegisterContextMinidump_x86_64.cpp to the xcode project
file so I can run the unittests from that.
The testsuite passes with this change, but there was quite a bit of
code change by the refactoring and it's possible there are some
issues. I'll be testing this more in the coming days, but it looks
like it is behaving correctly as far as I can tell with automated
testing.
<rdar://problem/28509178>
llvm-svn: 282565
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions