diff options
author | Caroline Tice <ctice@apple.com> | 2011-04-08 23:33:06 +0000 |
---|---|---|
committer | Caroline Tice <ctice@apple.com> | 2011-04-08 23:33:06 +0000 |
commit | 25d61ac2ed3f3bfad00d43b1ca94b1a32649cf0a (patch) | |
tree | 67a4c6b9f658dea252289c67890f499d32337703 /lldb/source/Core/Disassembler.cpp | |
parent | e094ee0a34fe8acd6073ec16c19720a89504780d (diff) | |
download | bcm5719-llvm-25d61ac2ed3f3bfad00d43b1ca94b1a32649cf0a.tar.gz bcm5719-llvm-25d61ac2ed3f3bfad00d43b1ca94b1a32649cf0a.zip |
Fix various things in the instruction emulation code:
- Add ability to control whether or not the emulator advances the
PC register (in the emulation state), if the instruction itself
does not change the pc value..
- Fix a few typos in asm description strings.
- Fix bug in the carry flag calculation.
llvm-svn: 129168
Diffstat (limited to 'lldb/source/Core/Disassembler.cpp')
-rw-r--r-- | lldb/source/Core/Disassembler.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp index 2318cf5783d..c422113b688 100644 --- a/lldb/source/Core/Disassembler.cpp +++ b/lldb/source/Core/Disassembler.cpp @@ -504,6 +504,7 @@ Instruction::DumpEmulation (const ArchSpec &arch) bool Instruction::Emulate (const ArchSpec &arch, + bool auto_advance_pc, void *baton, EmulateInstruction::ReadMemory read_mem_callback, EmulateInstruction::WriteMemory write_mem_callback, @@ -516,6 +517,7 @@ Instruction::Emulate (const ArchSpec &arch, insn_emulator_ap->SetBaton (baton); insn_emulator_ap->SetCallbacks (read_mem_callback, write_mem_callback, read_reg_callback, write_reg_callback); insn_emulator_ap->SetInstruction (GetOpcode(), GetAddress()); + insn_emulator_ap->SetAdvancePC (auto_advance_pc); return insn_emulator_ap->EvaluateInstruction (); } |