summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Disassembler.cpp
diff options
context:
space:
mode:
authorCaroline Tice <ctice@apple.com>2011-04-08 23:33:06 +0000
committerCaroline Tice <ctice@apple.com>2011-04-08 23:33:06 +0000
commit25d61ac2ed3f3bfad00d43b1ca94b1a32649cf0a (patch)
tree67a4c6b9f658dea252289c67890f499d32337703 /lldb/source/Core/Disassembler.cpp
parente094ee0a34fe8acd6073ec16c19720a89504780d (diff)
downloadbcm5719-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.cpp2
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 ();
}
OpenPOWER on IntegriCloud