From 6d98628962a54ead52d86c875676b1ea8cd755bd Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Tue, 1 Dec 2015 16:44:58 -0600 Subject: [PATCH] Remove Function::Call extern handler shortcut (as we need old behavior for savestates) --- src/xenia/cpu/function.cc | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/xenia/cpu/function.cc b/src/xenia/cpu/function.cc index 095dded85..ebd8c5ba1 100644 --- a/src/xenia/cpu/function.cc +++ b/src/xenia/cpu/function.cc @@ -129,20 +129,7 @@ bool GuestFunction::Call(ThreadState* thread_state, uint32_t return_address) { ThreadState::Bind(thread_state); } - bool result = false; - if (behavior_ == Behavior::kExtern) { - // Special handling for extern functions to speed things up (we don't - // trampoline into guest code only to trampoline back out). - if (extern_handler_) { - extern_handler_(thread_state->context(), - thread_state->context()->kernel_state); - } else { - XELOGW("undefined extern call to %.8X %s", address(), name().c_str()); - result = false; - } - } else { - result = CallImpl(thread_state, return_address); - } + bool result = CallImpl(thread_state, return_address); if (original_thread_state != thread_state) { ThreadState::Bind(original_thread_state);