I seem to relearn blr != return once every month or so.

This commit is contained in:
Ben Vanik
2014-02-02 14:35:16 -08:00
parent 2d65bea0ea
commit ef5f59ed0b
15 changed files with 67 additions and 13 deletions

View File

@@ -73,7 +73,7 @@ Breakpoint* Function::FindBreakpoint(uint64_t address) {
return result;
}
int Function::Call(ThreadState* thread_state) {
int Function::Call(ThreadState* thread_state, uint64_t return_address) {
ThreadState* original_thread_state = ThreadState::Get();
if (original_thread_state != thread_state) {
ThreadState::Bind(thread_state);
@@ -94,7 +94,7 @@ int Function::Call(ThreadState* thread_state) {
result = 1;
}
} else {
CallImpl(thread_state);
CallImpl(thread_state, return_address);
}
if (original_thread_state != thread_state) {