Commit Graph
446 Commits
Author SHA1 Message Date
Unknown W. Brackets b8ca8a44aa Fix completely wrong thread status switching.
Wow, kinda surprised this even worked...
But now things that use sceKernelRotateThreadReadyQueue are broken again.
2013-02-09 16:04:34 -08:00
Unknown W. Brackets 411c711dac Initial sceKernelRotateThreadReadyQueue().
Might not be right but it's closer.
Makes games that call this func much faster.
2013-02-09 16:04:34 -08:00
Sacha e79c8e032a Buildfix for Blackberry, Meego. Optimisations to Qt build. 2013-02-07 14:41:02 +10:00
Unknown W. Brackets 112c1e9e23 Automatically delete pointers when savestating. 2013-02-04 08:28:22 -08:00
Unknown W. Brackets a4032c5170 Simplify savestate code so it's all automagical.
If you can't beat 'em, join 'em?
2013-02-04 08:27:01 -08:00
Unknown W. Brackets 07a5dca98e Expand out some savestate code saving non-pod. 2013-02-04 08:26:59 -08:00
Unknown W. Brackets c7204797e7 Don't log idle => idle context switches. 2013-02-03 13:48:19 -08:00
Unknown W. Brackets 996eb7a648 Use the new ready queue for thread switching. 2013-02-03 13:48:18 -08:00
Unknown W. Brackets ce2e62317b Make the new queue only have ready threads. 2013-02-03 13:45:30 -08:00
Unknown W. Brackets 8725bfe411 Add a priority-indexed ready queue (not used yet.)
Also, not actually only ready threads yet.
2013-02-03 13:45:30 -08:00
raven02 24c720892c Add few stubs seen from Dragon Ball Z Tenkaichi Tag Team 2013-02-04 03:19:55 +08:00
Unknown W. Brackets 7530a0b6fd When creating threads, etc. restore thread ready.
The old thread was sticking in the RUNNING state.
2013-02-02 19:48:23 -08:00
Unknown W. Brackets dd8002a42c Oops, still need to switch back from interrupts.
There's the real problem: don't leave the thread "running".
2013-02-02 19:14:00 -08:00
Unknown W. Brackets d1c2d5ddc4 Loading a savestate crashed with active mipscalls. 2013-02-02 18:46:23 -08:00
Unknown W. Brackets fcdaf3c9c4 Return of mipscalls should be handled by actions. 2013-02-02 18:09:00 -08:00
Unknown W. Brackets 7055788f0b Simplify argument passing for mipscalls. 2013-02-02 18:01:34 -08:00
Unknown W. Brackets 14cfb84633 Allow rescheduling in a mipscall, not a callback. 2013-02-02 17:57:44 -08:00
Unknown W. Brackets 31eeb3d50b Make sceKernelStartModule() do something.
Doesn't work right, but gets somewhere?
2013-02-02 16:22:33 -08:00
Unknown W. Brackets afccf2fc88 Buildfix. 2013-01-28 00:48:59 -08:00
Unknown W. Brackets aeadc80045 Recover from an interrupt during a callback. 2013-01-27 18:43:38 -08:00
Unknown W. Brackets dcc9f1ae5f Always check for more callbacks after running one. 2013-01-27 18:43:12 -08:00
Unknown W. Brackets 54e6a39e74 Optimize callback checking.
Since it's checked every resched, it happens a lot.
This could save as much as 1.6% of time.
2013-01-27 17:01:17 -08:00
Unknown W. Brackets 5af5eef908 Refactor thread deletion so it can be consistent. 2013-01-27 16:55:43 -08:00
Unknown W. Brackets 7f4e322266 Cut thread switching time down.
Based on profiling release Windows.

Took these funcs from taking 1.6% to 0.5% time.
2013-01-26 11:29:20 -08:00
Unknown W. Brackets a6094e25ff Get rid of waitTypeStrings and resched reason copy. 2013-01-26 11:29:20 -08:00
Unknown W. Brackets 1cb7a88137 Don't use a dynamic string for wait debugging.
Happens in release, and shows up on the profiler.
Not huge, but should save ~0.5% of cpu time.
2013-01-26 11:29:19 -08:00
KentuckyCompass 9ce1887566 fix a bad format string in a DEBUG_LOG 2013-01-22 06:39:06 -08:00
Unknown W. Brackets 862c88d61a More warning fixes, switches and printfs, etc.
This time ones not reported by Visual Studio.
2013-01-19 18:32:37 -08:00
Unknown W. Brackets 140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Unknown W. Brackets 4a56873541 Properly wake semaphores in priority order. 2013-01-18 01:38:13 -08:00
Unknown W. Brackets dcd3045cd5 Always use -1 for failed allocs in block allocator.
Before it used 0 and -1, confusing.
2013-01-18 01:38:12 -08:00
Henrik Rydgård e23365dfa9 Merge pull request #430 from unknownbrackets/thread-funcs
Remove some thread stack hacks that aren't needed.
2013-01-15 23:40:19 -08:00
Unknown W. Brackets 8c07a5c87f Remove some thread stack hacks that aren't needed. 2013-01-15 19:46:52 -08:00
Henrik Rydgard 3615b36a82 Store fcr0 and fcr31 in context (why was this commented out?) 2013-01-10 12:52:30 +01:00
Henrik Rydgard 789c4781c0 Merge remote-tracking branch 'origin/master' into armjit
Conflicts:
	Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +01:00
Henrik Rydgard 8c06edc47b It's getting close to the first totally unoptimized jit run. 2013-01-08 17:03:17 +01:00
Unknown W. Brackets 1f21ea4236 Implement sceKernelReleaseWaitThread(). 2013-01-07 19:44:39 -08:00
Unknown W. Brackets 0eb13142aa Avoid calling thread->getName() in release builds.
Profile shows this will save a couple percentage points.
2013-01-07 18:09:26 -08:00
Unknown W. Brackets 138b3a0823 Add warnings to sceKernelCreateThread().
Trying to check when it's being misused.
2013-01-07 18:09:23 -08:00
Unknown W. Brackets ea9e87b355 Correct error codes for sceKernelWaitThreadEnd(). 2013-01-07 15:43:37 -08:00
Unknown W. Brackets 3b5d1efd56 Implement timeouts for sceKernelWaitThreadEnd(). 2013-01-07 11:11:23 -08:00
Unknown W. Brackets 666ba6ecc3 Properly set thread status on create/term/start. 2013-01-07 10:45:56 -08:00
Unknown W. Brackets c88ae1e34c Make sceKernelWaitThreadEnd return the exit status.
Also fix the exit status not being recorded properly.
2013-01-07 10:31:19 -08:00
Unknown W. Brackets 5ac7f6a211 Clean up sceKernelWaitThreadEnd() wrappers. 2013-01-07 10:02:11 -08:00
Henrik Rydgard 2f69250fc0 Store fcr0 and fcr31 in context (why was this commented out?) 2013-01-07 13:42:05 +01:00
Unknown W. Brackets 21cfd087e1 Move Action out of Common, don't use savedV0.
Compiler error was annoying me anyway.
2013-01-06 15:56:13 -08:00
Unknown W. Brackets 0d8bdfe989 Allow mipscalls to change the return value.
At least, seems like mpeg needs this.
2013-01-06 14:58:04 -08:00
Henrik Rydgard b8eab42add Add support for a couple of sceIoIoctl commands. Init some vars. 2013-01-06 09:54:43 +01:00
Henrik Rydgard 596dee2871 Turn down log level for sceKernelDelaySysClockThread. Minimum wait time 200. 2013-01-05 23:54:55 +01:00
Henrik Rydgard 9fe592e83a Implement sceKernelDelaySysClockThreadCB 2013-01-05 23:24:05 +01:00