141 Commits

Author SHA1 Message Date
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
Henrik Rydgard
b283b915cb Implement sceKernelReferThreadRunStatus 2013-01-05 23:07:13 +01:00
Henrik Rydgard
6ecf2d235c Fix integer overflow in scheduling. 2013-01-05 22:44:30 +01:00
Henrik Rydgard
5ba5ceff19 Merge branch 'master' into mediaengine 2013-01-05 16:22:08 +01:00
Arthur Blot
b12bc54dda Fixed threads/k0 test, updated pspautotests 2013-01-04 17:07:17 +01:00
Arthur Blot
a693081b17 Fixed $k0 overwriting $sp content & stack address 2013-01-04 00:58:36 +01:00