Nekotekina
1b5c0c68dd
LLVM: enable New GVN Pass
2017-03-22 01:21:19 +03:00
Nekotekina
3e6f9faf71
Use LLVM 4.0
2017-03-21 23:32:14 +03:00
Nekotekina
07646c2124
LLVM CPU override option
2017-03-14 16:12:03 +03:00
Nekotekina
b45cea1434
Opt-in LLVM logs
2017-03-14 16:12:03 +03:00
Nekotekina
d09dd29054
utils::memory_protect
2017-03-13 13:16:22 +03:00
Nekotekina
4739eb3601
Reservation fix
2017-03-11 15:48:43 +03:00
Nekotekina
5e3bacbd9b
New reservations
...
Memory system cleanup
sys_memory_get_page_attribute
2017-03-10 15:51:40 +03:00
Nekotekina
0eb6bf6a67
LLVM: splitting and caching
2017-02-26 20:14:18 +03:00
Nekotekina
af53ce6f76
Stack overflow constrained
2017-02-25 19:29:31 +03:00
Nekotekina
7c418f7ea5
PPU: block info fix
2017-02-23 00:35:29 +03:00
Nekotekina
9000407a77
cpu_thread::test_state added
...
lv2_obj::sleep adjustment
synchronization fixes
2017-02-22 13:23:21 +03:00
Nekotekina
598c90f376
PPU thread scheduler
2017-02-13 22:26:11 +03:00
Nekotekina
e4962054a4
LLVM: add check state
2017-02-13 20:51:56 +03:00
Nekotekina
3356a76c9b
PPU fix
2017-02-11 17:17:07 +03:00
Nekotekina
e899de88ff
Log empty functions
2017-02-11 02:43:31 +03:00
Nekotekina
bb111d325f
memory fix
2017-02-10 23:27:58 +03:00
Nekotekina
b20d7ff48c
PPU breakpoints resurrected
...
Now with zero overhead
2017-02-10 16:33:22 +03:00
Nekotekina
8262d56574
PPU interpreter improved
2017-02-10 16:33:22 +03:00
Nekotekina
257b9a2015
Debugger fix
...
Crash fixes
GUI fixes
Debug enhancements
2017-02-10 16:33:22 +03:00
Nekotekina
47b4c649f1
PPU fixes
2017-02-07 16:37:30 +03:00
Nekotekina
11b0b6958f
sys_spu diag
2017-02-05 15:48:11 +03:00
Nekotekina
a5a2d43d7c
Thread.cpp refinement
...
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Nekotekina
d4c3905355
Debug build fix
2017-01-28 15:32:45 +03:00
Nekotekina
df6607e236
Minor fixes
2017-01-28 03:21:11 +03:00
Nekotekina
591a6c8671
IdManager improved
2017-01-25 23:29:36 +03:00
Nekotekina
78ecb115f3
LLVM: progress dialog
2017-01-22 22:44:26 +03:00
Nekotekina
5e0489dcc0
cpu_init removed
2016-08-14 18:07:34 +03:00
Nekotekina
bdeccd889f
cpu_type removed, system_type added
...
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina
46735d6b3d
New bitsets (experimental)
2016-08-08 16:29:37 +03:00
Nekotekina
c9a789bf76
PPU LLVM fix
2016-08-06 13:39:03 +03:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina
e6bd91ada0
id_manager: embedded RTTI
2016-08-01 12:51:47 +03:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina
44bee7d0ba
LLVM: Use small code model
...
Global variables modified:
__mptr: pointer to memory base addr
__cptr: pointer to function map addr
Use 32 bit pointers in function map
2016-07-25 18:26:02 +03:00
Nekotekina
5c9f83c3a8
PPU LLVM: New "stack" strategy
...
Minor pessimization: all memory accesses are volatile
Special handling of prologues and epilogues
Minor optimizing assumption for SP
2016-07-24 21:47:45 +03:00
Nekotekina
94da0dbd4d
PPU LLVM improvements
...
Removed interpreter dependencies
Reciprocal instructions improved
2016-07-12 17:33:13 +03:00
Nekotekina
06c6c8212d
Minor fixes
...
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
Ivan
77594dc66c
PPU LLVM: New analyser ( #1858 )
...
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
Nekotekina
0ea0c21fed
LLVM: Indirect call map
2016-06-27 19:34:14 +03:00
Nekotekina
7a921cbdf9
cpu_thread compressed
2016-06-27 16:43:57 +03:00
Nekotekina
9db7de29fb
Syscall analysis implemented
2016-06-27 16:43:56 +03:00
Nekotekina
a19b721c26
LLVM: Added JIT.cpp
...
Refactoring, used -fno-rtti option
2016-06-27 16:43:53 +03:00
Nekotekina
73ea020525
PPU LLVM: Thread context argument
2016-06-27 16:43:50 +03:00
Nekotekina
251fb86ab0
PPU LLVM: Some instructions simplified
2016-06-21 18:08:21 +03:00
Nekotekina
a8bebcba55
LLVM AOT
2016-06-19 21:29:48 +03:00
Nekotekina
e2d82394f6
Cell
2016-05-23 16:22:23 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina
c4e99dbdb2
Partial commit: Cell
2016-04-15 19:22:34 +03:00
Nekotekina
960668ecf1
For #1355
...
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
O1L
c0255208cc
Old ini-manager only partially used in VFS. Global configuration used as defualt.
2015-10-27 01:09:31 +04:00
O1L
1673ba217c
Do not try to change default config, use state configs.
2015-10-24 22:48:07 +04:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
8ae3401ffa
Some things improved
...
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Nekotekina
59f1077a36
Cleanup, be_t fixed
...
Some functions renamed:
get_ps3_function_name
execute_syscall_by_index
2015-09-22 13:28:34 +03:00
Vincent Lejeune
942f26509b
Memory: Factorize virtual memory reservation/allocation code in function
2015-08-26 21:54:40 +02:00
Nekotekina
e551e2bc5d
Bugfix
2015-08-24 21:22:49 +03:00
Nekotekina
5e14310071
noexcept usage fixed
...
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
be9a599beb
PPU Decoder Cache improved
2015-08-24 21:22:35 +03:00
Nekotekina
dd665e7363
ID manager simplified
...
ID manager refactoring, redundant "type" information removed
2015-08-24 21:22:19 +03:00
vlj
abd61538ea
PPU/LLVM: Rename ExecutionEngine to CPUHybridDecoderRecompiler
...
In order to avoid naming conflict with llvm own ExecutionEngine
2015-07-22 02:10:55 +03:00
Nekotekina
2f7fe35f5c
Minor style change
2015-07-21 23:14:31 +03:00
Nekotekina
48c75105e2
"Memory" eliminated
2015-07-18 03:12:06 +03:00
Nekotekina
4bacfcf847
sys_lv2dbg added, bugfix
2015-07-10 04:31:41 +03:00
Nekotekina
82781e620a
Small fixes
2015-07-10 04:31:36 +03:00
Nekotekina
c0f13f7084
sleep_queue_t rewritten, used in sys_cond/sys_mutex
...
Some synchronization fixes
2015-07-10 04:31:34 +03:00
Nekotekina
22e1da5e76
Minor cleanup
2015-07-10 04:31:29 +03:00
Nekotekina
8f9e1100c8
SPU fixes, various fixes
2015-07-10 04:31:25 +03:00
Nekotekina
721ad404d2
VM_CAST macro
2015-07-10 04:31:23 +03:00
Nekotekina
32d3d1fbe5
EXCEPTION() macro usage, sceNpTrophy improved
2015-07-10 04:31:20 +03:00
Nekotekina
6f1e76198a
Some fixes
2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1
ThreadBase rewritten (wip)
2015-07-10 04:31:16 +03:00
Nekotekina
ef6f9f6ded
be_t constructor implemented, make() eliminated
...
be_t enums are forbidden, le_t improved, some operators cleaned.
2015-07-10 04:31:07 +03:00
Nekotekina
714da1aa7c
vm::var fix, vm::ptr improved
...
GetCurrentPPUThread() removed
2015-07-10 04:31:00 +03:00
Nekotekina
6c4148a949
Bugfix
2015-07-10 04:30:47 +03:00
Nekotekina
edb9595721
Using vm::ps3 namespace moved in proper places
...
Various fixes
2015-07-10 04:30:41 +03:00
Nekotekina
935302b620
Bugfix
2015-04-20 02:49:13 +03:00
Nekotekina
b1f7543436
PPU stack fixed (2)
2015-04-18 04:35:58 +03:00
Nekotekina
b7fd09740b
PPU stack fixed
2015-04-18 03:25:26 +03:00
Nekotekina
ef563f038d
SPU: some instructions updated
2015-03-21 02:36:05 +03:00
Nekotekina
63276a3f84
SPU interpreter (basic concept)
2015-03-20 19:53:54 +03:00
Nekotekina
620e937473
Basic load
2015-03-17 23:03:24 +03:00
Nekotekina
a71cb5f521
Basic concept
2015-03-17 00:38:21 +03:00
Nekotekina
6a0ce1850a
Initial commit
2015-03-16 21:50:59 +03:00
Nekotekina
3e412a2a1f
Syscall names registered
2015-03-15 16:26:01 +03:00
Nekotekina
961fc27215
Minor cleanup
2015-03-07 16:39:07 +03:00
Nekotekina
9e49a33b3c
SPU syscall improvements
2015-03-05 00:51:14 +03:00
Nekotekina
5f8cf18a5a
SPU refactoring
2015-03-03 00:09:20 +03:00
Nekotekina
be4e85f0f2
PPCThread removed (it does nothing anyway)
2015-02-26 03:54:49 +03:00
Nekotekina
9ee9523680
StaticFuncManager removed
2015-02-21 17:07:22 +03:00
Nekotekina
2d1d996c50
Small fix
2015-02-19 14:18:28 +03:00
Nekotekina
1f2eafc4f2
Loader fixed
2015-02-17 18:27:15 +03:00
Nekotekina
267de68441
Memory cleanup, page flags implemented
...
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina
e5dd03dbcb
ARMv7: argc, argv setting, LDRSB_IMM, bugfixes
2015-02-01 16:52:34 +03:00
Nekotekina
61a5459ccb
TLS for ARMv7 threads
2015-01-31 19:44:26 +03:00
Nekotekina
4ea1b8cffc
Fixed TLS for PPU threads
2015-01-30 23:01:13 +03:00
Andrew Church
ee508f85b4
Fix handling of VRSAVE, and remove references to nonexistent USPRG registers.
2015-01-18 07:01:52 +09:00