Commit graph

73 commits

Author SHA1 Message Date
Nekotekina 3c70645f0b Update SPU cache (v2)
Improve SPU analyser: filter unreachable fragments
More strict NOP/LNOP analysis
Fill block predecessors info
ASMJIT: fix assertion and improve indirect branch
2018-05-13 20:40:23 +03:00
Nekotekina be5c18cc85 SPU Re: more precise jt generation
Improve analyser, set v1
Fix branch indirect conditional
2018-05-12 23:50:49 +03:00
Nekotekina fe4c3c4d84 Implement SPU recompiler cache
Shared between ASMJIT/LLVM recompilers, compiled at startup
2018-05-09 23:35:18 +03:00
Nekotekina 8f91917e8c SPU ASMJIT: simplify patchpoints
Remove SPU thread reference from spu_recompiler_base
Disable support for far jumps in pathpoints (they were rare and unsafe)
2018-05-09 22:19:55 +03:00
Nekotekina 1ca51a023c SPU LLVM Recompiler (preview) 2018-05-09 22:19:55 +03:00
Nekotekina 16f5167aed SPU Analyser improved
This restores some functionality removed in SPU ASMJIT v2.0
Also implements new experimental features
2018-05-08 13:05:29 +03:00
Nekotekina 3ffafb741c SPU ASMJIT: übertrampolines and spu_runtime
Use opt-out shared spu_runtime to save memory (Option: SPU Shared Runtime)
Implement "übertrampolines" for dispatching compiled blocks
Patch fixed branch points to use trampolines after check failure
2018-04-22 00:06:49 +03:00
Nekotekina 8ca33bcb94 SPU ASMJIT v2.0
Use X86Assembler and blocks
2018-04-22 00:06:48 +03:00
Nekotekina 9232ddf0ab Minor changes 2017-01-25 04:43:12 +03:00
Nekotekina e2d82394f6 Cell 2016-05-23 16:22:23 +03:00
Nekotekina c4e99dbdb2 Partial commit: Cell 2016-04-15 19:22:34 +03:00
Nekotekina 7e01c81154 SPU Recompiler fixed 2015-09-07 00:36:32 +03:00
Nekotekina 817fec9684 SPU Cleanup
SPURecompiler improved
Old SPU decoder removed
SPU Interpreters merged
2015-09-02 00:38:44 +03:00
Nekotekina 6f3c50eba2 u128 renamed to v128
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina 32d3d1fbe5 EXCEPTION() macro usage, sceNpTrophy improved 2015-07-10 04:31:20 +03:00
Nekotekina 39f836b495 re32/se32/... macro eliminated, some fixes 2015-07-10 04:31:09 +03:00
Nekotekina 22b78fec71 IdManager improved, atomic_t improved
Various changes
2015-05-27 06:11:59 +03:00
Nekotekina d1fbccc9ce SPURecompiler improved 2015-04-05 21:01:15 +03:00
Nekotekina d2883fc554 SPURecompiler cleanup 2015-04-04 21:21:49 +03:00
Nekotekina ef563f038d SPU: some instructions updated 2015-03-21 02:36:05 +03:00
Nekotekina 5f8cf18a5a SPU refactoring 2015-03-03 00:09:20 +03:00
Nekotekina 79d03ece66 ARMv7 decoder improved 2015-01-22 00:09:37 +03:00
Nekotekina 9fc7197c4f cellGameContentPermit: extremely DANGEROUS bug fixed
And few tiny changes.
2014-11-29 20:41:18 +03:00
Nekotekina 0f602e0e13 Bugfix 2014-10-28 19:46:14 +03:00
Nekotekina 973e3f8f7e Few instructions simplified 2014-10-24 02:06:15 +04:00
Nekotekina 7777be6fc1 Some things simplified 2014-10-23 02:53:44 +04:00
Nekotekina b7d0bfa972 SPU branch D/E flags workaround 2014-10-10 01:38:02 +04:00
Nekotekina 237ab974dd SPURS kernel v1 2014-10-07 17:35:44 +04:00
Nekotekina 74007d5e5d Small changes in memory and RSXIOMem
Some bugs fixed, some other changes.
2014-10-04 18:43:46 +04:00
Nekotekina e5a485e50b More changes 2014-09-23 03:07:40 +04:00
Nekotekina 0044141631 sys_process_is_spu_lock_line_reservation_address
Formatting changed a bit
2014-09-17 17:15:17 +04:00
Nekotekina 597d07bf24 Small refactoring 2014-09-15 02:17:24 +04:00
Nekotekina 8cde1c18c4 Cb fix 2014-09-12 00:46:11 +04:00
Nekotekina 82433d946e u128
Only useful as vector type anyway.
2014-09-06 20:30:13 +04:00
Nekotekina 3269c88d02 Some warnings fixed, some code removed 2014-08-30 21:51:00 +04:00
Nekotekina 8dfe7138df (nothing, really) 2014-08-30 17:52:12 +04:00
Nekotekina 5abd3fabfa Attempt to remove some includes 2014-08-22 18:21:55 +04:00
Nekotekina f153143c9d still FSCRRD 2014-08-21 06:20:41 +04:00
Nekotekina 07a5720c17 SPU: some instructions removed
They can't be used on PS3.
Bitfields for interrupt flags added.
2014-08-18 04:23:05 +04:00
Nekotekina 55ee7065be SPR removed from SPU 2014-08-18 02:39:25 +04:00
Nekotekina 1f46098b23 Name fix (SPU JIT)
Unnecessary check removed
2014-07-20 21:03:41 +04:00
Nekotekina 694a2b774e SPU Recompiler fix 2014-07-16 16:15:20 +04:00
Nekotekina a71053ae15 Asmjit updated 2014-07-14 13:24:10 +04:00
Peter Tissen 95f1a0e645 use only one set of logging macros instead of two and don't use free() as a function name 2014-06-27 15:28:17 +02:00
Peter Tissen 21da317453 Logging system rework
* use one central unified log with channels/priorities ad-hoc listener registration and de-registration
* disable buffering by default
* add multi-threaded ringbuffer implementation
* use buffered listener for the gui (using the ringbuffer)
2014-06-26 17:34:28 +02:00
Nekotekina 90b9861043 SMutex partially replaced with std::mutex
SPURecompiler.h: SETcc bug fixed
2014-06-20 15:00:36 +04:00
Nekotekina 4fedf5749e cellSysmoduleLoadModule modified
cellSysutilEnableBgmPlayback draft
cellSurMixerGetCurrentBlockTag
cellSurMixerGetTimestamp
Interval.h draft
2014-06-09 17:35:35 +04:00
Alexandro Sánchez Bach 82c6d8d68b Removed 32-bit related #if(n)def's 2014-06-02 14:08:32 +02:00
Peter Tissen 870fa5a153 explicit cast from void(*)() to void * 2014-04-27 20:23:32 +02:00
Peter Tissen 0bcadaf155 explicitER casting, why you heff to be mad Clang 2014-04-27 20:13:47 +02:00