Elad
6a4b9430c0
Thread.h: Add a few noexcept
2024-12-24 21:31:57 +02:00
Elad
3bf735161f
sys_config: Move cleanup to IDM abort
2024-12-24 21:31:57 +02:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Elad
926de68a79
Debugger: Dump related thread information on crash
2024-11-28 13:32:52 +02:00
Elad
2b9f076024
fs: Minor fix of fs::dir::open
...
Did not close previous handle on fs::dir::open like on fs::file
2024-11-28 05:47:40 +02:00
Elad
378a69ea85
Qt: Deprecate processEvents() part 2
2024-11-27 16:00:40 +02:00
Elad
cc86e01df9
lockless.h: Fox
2024-11-18 18:45:34 +02:00
Elad
1dfee5fbfa
lockless.h: Fixup addressing
2024-11-18 18:45:34 +02:00
Elad
21f65f087d
lockless.h: Fixup lf_array assert
2024-11-18 18:45:34 +02:00
Megamouse
29901d65ed
More constexpr
2024-11-16 15:10:20 +01:00
Megamouse
0bb83ed5e9
Fix warning
2024-11-16 15:10:20 +01:00
Elad
68d74bc28a
Progress Dialog: Fix recursion and concurrency use of text updates
2024-11-16 12:22:23 +02:00
Elad
1475625705
Implement lf_array::for_each
2024-11-16 12:22:23 +02:00
Elad
935e83a490
Utilities\lockless.h: Flatten recusrion in lf_array
...
Add assert for sane index access.
2024-11-16 12:22:23 +02:00
Megamouse
070add461f
overlays: get localized values in home menu settings
2024-11-15 09:48:12 +01:00
oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
Megamouse
2262ac1684
Qt: Replace QMap with std::map
...
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
Elad
b053b1e200
Another attempt to fix fs::pending_file for hardlinks
2024-11-02 21:43:35 +02:00
Elad
d3c0ec5651
Print last system error on fs::error::unknown
2024-11-02 21:43:35 +02:00
Elad
4206b022b6
Win32/File.cpp: Use ReplaceFile for hardlink overwrite
2024-11-01 07:37:57 +02:00
elad335
8b8396b945
Filesystem/Win32: Recreate hardlinks on fs::pending_file
2024-10-29 19:26:33 +02:00
RipleyTom
36da83592a
Improve AMD cpu detection
2024-10-07 05:36:19 +02:00
kd-11
82f97d33d1
aarch64: Correctly implement the null function trap
2024-09-25 15:48:36 +03:00
kd-11
31ce32709e
build: Disble fixed base for windows-on-arm
2024-09-08 17:41:29 +03:00
kd-11
4f27af9949
Fix compilation warning
2024-09-08 17:41:29 +03:00
kd-11
7e3b8b5cdb
c++-ify empty return
2024-09-04 07:49:49 +03:00
kd-11
a60eab6e36
aarch64: Fix compilation for windows-on-arm
2024-09-04 07:49:49 +03:00
kd-11
c80342e8d4
aarch64: Support calloc patch blocks
2024-08-31 13:55:58 +03:00
kd-11
4d193ecb6a
Block parallel JIT allocation on macos
2024-08-29 13:08:23 +03:00
kd-11
ce9024efc5
Fix overlapping addresses returned by mmap
2024-08-29 13:08:23 +03:00
kd-11
23788b04c6
Restore comment
2024-08-29 13:08:23 +03:00
kd-11
c0e577c4dc
Allow overcommit on macos
2024-08-29 13:08:23 +03:00
kd-11
56d35bf409
Fix crash in JIT when compiling LLVM blocks
2024-08-25 22:04:45 +03:00
kd-11
4f97ea8da7
macos - Fix crash when running native arm64 LLVM
2024-08-25 22:04:45 +03:00
kd-11
470f8674df
aarch64 - Support for apple exceptions
2024-08-24 14:13:14 +03:00
kd-11
4bb79b6c31
Rework aarch64 signal handling
2024-08-21 16:16:28 +03:00
kd-11
3ea24183b9
Improve "write" instruction detection.
2024-08-20 05:18:53 +03:00
kd-11
c2f5de1c55
Fix compiler warnings about unused args for aarch64
2024-08-20 05:18:53 +03:00
Elad Ashkenazi
1bd4565186
Implement thread_ctrl::wait_until()
2024-08-17 06:38:49 +03:00
Megamouse
456ff10f02
Qt/patches: don't allow duplicate app versions
2024-08-15 09:35:58 +02:00
Megamouse
8371c445ce
Qt/patches: check if app version is 5 characters long and like 01.00
2024-08-15 09:35:58 +02:00
Megamouse
93424d1adc
Qt/patches: check if serial is 9 characters long and alphanumeric
2024-08-15 09:35:58 +02:00
Megamouse
d05d803f5e
patches: use more std::move
2024-08-15 09:35:58 +02:00
Megamouse
76c0df849a
patches: improve error logging: add file paths to all errors
2024-08-14 20:21:55 +02:00
Megamouse
4051988403
Qt/patches: improve value validation
2024-08-14 20:21:55 +02:00
Darkhost1999
3970b7b754
Class "llvm:StringRef" has no member 'Startswith' ( #15898 )
2024-08-08 21:40:52 +02:00
kd-11
0be1c41e63
Improve AMD CPU detection
2024-08-03 21:35:10 +03:00
kd-11
c8e81a2dad
Return zen4 for zen5+ until LLVM upgrade
2024-08-03 21:35:10 +03:00
kd-11
dd708166aa
Improve intel and apple detection
2024-08-03 21:35:10 +03:00
kd-11
3e7c1e207d
Add fallback CPU detection when llvm is not aware of the CPU model
2024-08-03 21:35:10 +03:00
Elad Ashkenazi
c5c51ec0c1
types.hpp: Add argument formatter to assert errors
2024-08-01 16:32:09 +03:00
Megamouse
7ebfe5ce69
Remove unused variable
2024-08-01 02:44:01 +02:00
Megamouse
08168c39c8
Fix std::move warning
2024-08-01 02:44:01 +02:00
Megamouse
319c533196
Silence deprecation warnings on MacOs
2024-08-01 02:44:01 +02:00
Elad Ashkenazi
faabb9e111
Add SPU usage for program dump
2024-07-28 12:36:42 +03:00
Elad Ashkenazi
b639599ade
reduce logging
2024-07-28 12:36:42 +03:00
Elad Ashkenazi
26b21ed031
LLVM: Prevent crash on disk space shortage
2024-05-30 11:41:24 +03:00
Elad Ashkenazi
c556322fc5
LLVM: Fix nullptr deref when accessing broken cache files
2024-05-30 11:41:24 +03:00
Elad Ashkenazi
a2dcbb9c13
Replace src_loc with std::soource_location
2024-05-21 14:19:12 +03:00
Elad Ashkenazi
7b3c9bea58
StrFmt.h: Fix throw_exception log message
2024-05-21 14:19:12 +03:00
Megamouse
25ce3880c4
Replace get_thread_class with static cast for performance reasons
2024-05-18 16:16:08 +02:00
Megamouse
ab923bc2c3
Add comment for thread_scheduler_mode::old to get_affinity_mask
2024-05-18 16:16:08 +02:00
Megamouse
dfee5b9a6c
threads: replace magic number id_type with thread_class
2024-05-18 16:16:08 +02:00
Elad Ashkenazi
302fe53704
Log SPU access violation in always-level
2024-05-14 19:36:48 +03:00
Elad Ashkenazi
7c313703a2
Savestates: Fix SPU pause from access violation handler
2024-05-14 19:36:48 +03:00
Elad Ashkenazi
91a54c11eb
Savestates: Fixup file write
2024-05-05 06:57:11 +03:00
Eladash
b83e39a540
Fix some warnings
2024-05-04 14:15:51 +03:00
Eladash
4905cd425f
Thread.cpp: Prevent repeatedly halting the debugger
2024-05-04 14:15:51 +03:00
oltolm
862727e9bf
simplify template code like std::invoke_result<T>::type
2024-04-21 18:15:17 +03:00
oltolm
9e9a3262eb
simplify template code like std::is_same<T>::value
2024-04-21 18:15:17 +03:00
Megamouse
b4d5b44e00
Don't create perf map files in linux unless enabled
2024-04-20 19:46:05 +02:00
oltolm
c40826c140
llvm: update to 18
2024-03-28 08:45:20 +01:00
Eladash
316b3a8851
Thread.cpp: Reduce logging
2024-03-27 19:59:22 +02:00
Eladash
213a19c9f3
Add logging for CallFromMainThread
2024-03-24 16:19:06 +02:00
Eladash
d39361705a
report_fatal_error: Minor cleanup and improvement
2024-03-06 20:32:22 +02:00
Elad.Ash
75ef154c12
SPU LLVM: Improve runtime SPU compilation preferences ( #15250 )
2024-02-28 08:28:49 +02:00
Eladash
88ba3c47c2
ELF.h: Avoid using seek operations
2024-02-16 10:42:57 +02:00
Eladash
77ba2b40e7
Thread.cpp: Explicitly state difference type in thread_ctrl::wait_for_accurate
2024-02-11 23:01:40 +02:00
Megamouse
cdfe3ee7c8
Name some threads
2024-01-31 16:33:29 +01:00
Megamouse
0d1fbfb755
VFS: Fix some potential .back() segfaults
2024-01-25 17:03:58 +01:00
pastalian
e8ad6ec673
Add missing headers ( #15075 )
...
Some systems must explicitly include these headers.
2024-01-24 17:22:37 +01:00
Steveice10
3ef48cbdd5
rpcs3qt: Add macOS support to the updater.
2024-01-24 09:44:56 +01:00
Megamouse
50fcec63e0
fs: fix get_executable_dir
2024-01-21 00:11:16 +01:00
Megamouse
8edd7d54cf
fs: fix warning. fix size argument in report_fatal_error
2024-01-20 21:59:02 +01:00
Steveice10
9c354ee269
Utilities: Add support for portable user directory. ( #15064 )
2024-01-20 10:04:25 +02:00
Megamouse
fd540f1820
Mac: silence deprecation warning
2024-01-16 22:52:57 +01:00
oltolm
0ae1578dce
split JIT.cpp and SPURecompiler.cpp
2024-01-14 17:21:39 +01:00
oltolm
2039b85be3
prepare split
2024-01-14 17:21:39 +01:00
oltolm
8eae73dd02
add comments where to split
2024-01-14 17:21:39 +01:00
Megamouse
3d974eed03
fs: move buf from stack to heap to silence VS warning
2024-01-14 06:40:35 +01:00
Megamouse
329b58c8cd
fs: remove duplicate to_utf8 function
2024-01-14 06:40:35 +01:00
RipleyTom
b6e9746198
RPCN 0.9 ( #15002 )
2024-01-05 09:43:26 +01:00
Megamouse
d03393ffe9
sys: fix games.yml hdd paths
2024-01-02 10:18:23 +01:00
Eladash
c2076373e8
Utilities\BitField.h: Try to fix some warnings
...
Cleanup and make bitfield extraction u32 if possible
2024-01-01 11:58:00 +02:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
Eladash
f696107c90
Add savestate data validity asserts
2023-12-29 11:11:53 +02:00
kd-11
6a7fb4c10c
Do not include profiling headers
2023-12-23 14:24:34 +02:00
Megamouse
b17b6e07ea
Fix warning
2023-12-20 23:33:43 +01:00
Eladash
0c410f8a14
Postpone thread launching on g_fxo->init
2023-12-19 15:34:07 +02:00
oltolm
fdcb481f07
fix Clang warnings
2023-11-29 19:02:34 +01:00