Commit graph

123 commits

Author SHA1 Message Date
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
Henrik Rydgard
972e4ea4e4 Warning fixes, prevent a possible (but unlikely) crash 2013-01-02 21:05:00 +01:00
Henrik Rydgård
1ea34bb6e8 Stub out all of VTimer. 2012-12-30 21:30:33 +01:00
Unknown W. Brackets
6f9f9e1c98 Merge branch 'master' into mediaengine.
Note: doesn't compile, just fixes conflicts.

Conflicts:
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceKernelThread.h
2012-12-28 22:32:56 -08:00
Unknown W. Brackets
bcecd881b1 Savestate cleanup + be more careful with vectors.
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
4b39e39455 Start save stating the filesystem state.
Plus minor fixes and at least an attempt to make states the same
on both 32 and 64 bit.
2012-12-28 13:55:27 -08:00
Unknown W. Brackets
b81899876f Don't leak MipsCall objects. 2012-12-28 13:55:26 -08:00
Unknown W. Brackets
a8c9c31e16 Add a registry for actions so they can be stated.
Also add late loaders to ensure things are hooked up properly.
2012-12-28 13:55:26 -08:00
Unknown W. Brackets
f5dd7f03e8 Change threadqueue and currentThread to be SceUIDs.
hmm, kind of a big change.  Tried to add some checks to be safe.
2012-12-28 13:55:25 -08:00
Unknown W. Brackets
595759ef78 Implement a factory for kernel objects.
Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
2012-12-28 13:55:22 -08:00
Unknown W. Brackets
23db819e90 No longer need this forward decl. 2012-12-24 01:42:33 -08:00
Unknown W. Brackets
49d4c45670 Make sure threading state is cleared on shutdown. 2012-12-23 21:49:44 -08:00
Unknown W. Brackets
9ba0ed46fd Always create CoreTiming timers during kernel init. 2012-12-23 21:27:26 -08:00
Henrik Rydgård
862a11e7be Clear some state between runs. Tabs fixing. 2012-12-23 11:16:32 +01:00
Unknown W. Brackets
66e942c545 Fix some "might be null" warnings. 2012-12-21 16:25:05 -08:00
Florent Castelli
c33eafd430 Warning fixes 2012-12-21 23:02:35 +01:00
Henrik Rydgard
4efb66fdb6 Fix hw transform and audio on android, misc 2012-12-21 12:57:43 +01:00
Unknown W. Brackets
5a501bb5ff Fix minor typo. 2012-12-21 01:03:46 -08:00
Henrik Rydgard
8104a4af5b Prettify logging of context switches 2012-12-20 15:23:15 +01:00