Commit graph

359 commits

Author SHA1 Message Date
Unknown W. Brackets
2bdc9dc491 Reset llBit on thread switch.
Never actually seen ll used, though... but this way it should
work as advertized, as long as a syscall doesn't happen in between...
2013-02-20 12:09:13 -08:00
Xele02
6339c2fc9a Correct crash when texture too small loaded in memory tex viewer
Correct current thread PC in the list.
2013-02-17 21:43:44 +01:00
Unknown W. Brackets
537fbe4d7d Minor perf gain in __KernelNextThread.
Just like .1% but was hoping Mr. Optimizer would do this for me.
2013-02-11 01:27:08 -08:00
Unknown W. Brackets
6ca1cad28c Add a std::vector wrapper to do remove/pop/push.
It showed up in a profile after all.  Cut down more than 1%.
2013-02-11 01:27:07 -08:00
Unknown W. Brackets
f552cb3370 Wake delayed threads directly, rather than looping.
This saves ~1% during fast forward on a release build.
2013-02-11 01:27:07 -08:00
Unknown W. Brackets
9a5589a180 Move running thread resched to __KernelNextThread.
Pretty sure this is needed, but apparently it breaks Sol Trigger.
2013-02-11 01:27:07 -08:00
Unknown W. Brackets
fd1c686edf Move currentThread init to a better place. 2013-02-11 01:27:06 -08:00
Xele02
69b837f18b Add debug dialogs (DisAsm, Memory, VFPU).
New features : Breakpoint display, thread status, display list status
Update translation and start french translation
2013-02-10 17:33:34 +01:00
Unknown W. Brackets
a5ba6821b7 Only switch to a started thread if better priority. 2013-02-09 19:02:38 -08:00
Unknown W. Brackets
0ff0b3f57d Return an error for invalid priority. 2013-02-09 19:01:25 -08:00
Unknown W. Brackets
161f2d712e sceKernelRotateThreadReadyQueue(0) means current. 2013-02-09 16:04:35 -08:00
Unknown W. Brackets
ddc93df61e Keep running threads at the top of the list.
There we go, this seems more right.  Switched to a std::list too.
2013-02-09 16:04:35 -08:00
Unknown W. Brackets
ea112fd9a6 Start the root thread as running, properly. 2013-02-09 16:04:34 -08:00
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