Remove Function::Call extern handler shortcut (as we need old behavior for savestates)
This commit is contained in:
parent
67a45203e3
commit
6d98628962
|
@ -129,20 +129,7 @@ bool GuestFunction::Call(ThreadState* thread_state, uint32_t return_address) {
|
||||||
ThreadState::Bind(thread_state);
|
ThreadState::Bind(thread_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool result = false;
|
bool result = CallImpl(thread_state, return_address);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (original_thread_state != thread_state) {
|
if (original_thread_state != thread_state) {
|
||||||
ThreadState::Bind(original_thread_state);
|
ThreadState::Bind(original_thread_state);
|
||||||
|
|
Loading…
Reference in New Issue