Nekotekina
72574b11ff
SPU: use reservation spinlocks on writes (non-TSX)
...
This should decrease contention by avoiding global lock
2018-05-21 21:56:14 +03:00
Nekotekina
fb0f5f0c8b
Fix vm::reservation_notifier
2018-05-21 00:18:37 +03:00
Nekotekina
367f039523
Build transactions at runtime
...
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Nekotekina
5d15d64ec8
Memory mirror support
...
Implemented utils::memory_release (not used)
Implemented utils::shm class (handler for shared memory)
Improved sys_mmapper syscalls
Rewritten ppu_patch function
Implemented vm::get_super_ptr (ignores memory protection)
Minimal allocation alignment increased to 0x10000
2018-05-09 23:35:34 +03:00
Nekotekina
ef0196d791
Fix warning (vm::reservation_update)
2018-04-22 00:06:49 +03:00
Nekotekina
3681507136
Rewrite vm::reservation
...
Use flat virtual memory area
2018-04-07 20:51:21 +03:00
Nekotekina
2b5cf2455f
SPU: improve TSX usage
...
Reduce transaction failure amount
Remove vm::try_to_lock
2018-04-06 21:47:54 +03:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
Nekotekina
76be7d40ac
Remove PSP2
2018-02-09 15:24:46 +03:00
Nekotekina
df2fc13b7a
Add PPU instruction stat dumper
...
Needs PPU Debug option to activate and PPU Interpreter
Dumps after Resume (after Pause)
Fix utils::memory_decommit, clean vm.cpp
2017-10-11 20:06:33 +03:00
Nekotekina
22d8b57027
Improve lv2_memory object
2017-09-14 00:23:23 +03:00
Nekotekina
af11ad6253
Fix deadlock in vm::unmap
2017-08-13 21:39:08 +03:00
Nekotekina
9b43203111
offset32(): pointer-to-member arithmetic
2017-04-20 00:17:16 +03:00
Nekotekina
37a97a71e3
vm::g_exec_addr added
...
s_ppu_compiled renamed
Exception handling enabled
2017-03-27 01:15:41 +03:00
Nekotekina
1ede0f4706
Minor optimization
2017-03-13 15:02:18 +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
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
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
Vincent Lejeune
b9f4c15ec0
vm: Add missing headers.
...
vm.h relies on memory (std::shared_ptr) and functionnal (std::function).
2016-07-30 18:39:26 +02:00
Nekotekina
96728a83f6
Partial commit: sys_memory, sys_mmapper
2016-07-16 14:46:01 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +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
0c7f763889
Partial commit: Memory
2016-04-15 19:22:43 +03:00
Nekotekina
2f5be3559e
Hotfix
2016-01-14 20:13:41 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
Vincent Lejeune
a462b4518c
d3d12: Move d3d12 files to separate solution.
...
It simplify solution configurations.
2015-10-17 04:15:58 +02: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
5e14310071
noexcept usage fixed
...
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
fcd6b64f8f
vm::var rewritten
2015-08-24 21:22:44 +03:00
Nekotekina
d9403c2ed2
thread_t cleanup
2015-08-24 21:22:37 +03:00
Nekotekina
6f3c50eba2
u128 renamed to v128
...
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina
06ef95fbea
File/dir descriptors numbering experimental impl
2015-08-01 14:39:12 +03:00
Nekotekina
16b7d204d2
decode_x64_reg_op: MOVUPS support
2015-08-01 14:38:59 +03:00
Nekotekina
71a378a3fb
vm::wait_op improved
...
Now it accepts thread_t and its descendants (but may require adding
friend vm::waiter_lock_t class)
2015-08-01 14:38:55 +03:00
Nekotekina
9913c9059c
Very bugfix
...
I reverted cellSaveData changes since they were relying on the
uninitialized local variable `save_entry` and thus were almost
completely wrong.
2015-07-21 23:14:26 +03:00
Nekotekina
a7668ff57f
SPU_EVENT_LR improved
2015-07-21 23:14:22 +03:00
Nekotekina
1e021cdbba
waiter_map reintroduced, combined with vm
2015-07-21 23:14:20 +03:00
Nekotekina
a8fcf71f9c
Minor bugfix, cleanup
2015-07-21 23:14:04 +03:00
Nekotekina
b8a27d8a4c
Silly bugs fixed
2015-07-18 03:12:08 +03:00
Nekotekina
48c75105e2
"Memory" eliminated
2015-07-18 03:12:06 +03:00
Nekotekina
22e1da5e76
Minor cleanup
2015-07-10 04:31:29 +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
bc9481db1b
PSV modules refactoring
2015-07-10 04:30:45 +03:00
Nekotekina
edb9595721
Using vm::ps3 namespace moved in proper places
...
Various fixes
2015-07-10 04:30:41 +03:00
Nekotekina
1256d648c1
be_t simplified, vm::ref improved
...
remove_be_t renamed to to_ne_t (to native endianness)
le_t and to_le_t draft, bugfixes
2015-06-15 19:21:07 +03:00
DHrpcs3
39e679806b
Implemented some sys_prx syscalls
...
Fixed vm::ptr
Conflicts:
Utilities/BEType.h
Utilities/StrFmt.cpp
rpcs3/Emu/Memory/vm_ptr.h
rpcs3/Emu/SysCalls/lv2/sys_prx.cpp
rpcs3/Emu/SysCalls/lv2/sys_prx.h
Cherry-picked commit "Implemented some sys_prx syscalls"
2015-05-29 04:34:30 +03:00