Wake delayed threads directly, rather than looping.

This saves ~1% during fast forward on a release build.
This commit is contained in:
Unknown W. Brackets committed 2013-02-11 01:27:07 -08:00
1 parent da5026ea17
commit f552cb3370
1 file changed
+3 -1
+3 -1
View File
@@ -1079,7 +1079,9 @@ void __KernelWaitCurThread(WaitType type, SceUID waitID, u32 waitValue, u32 time
void hleScheduledWakeup(u64 userdata, int cyclesLate)
{
SceUID threadID = (SceUID)userdata;
__KernelTriggerWait(WAITTYPE_DELAY, threadID, "thread delay finished", true);
u32 error;
if (__KernelGetWaitID(threadID, WAITTYPE_DELAY, error) == threadID)
__KernelResumeThreadFromWait(threadID);
}
void __KernelScheduleWakeup(SceUID threadID, s64 usFromNow)