Ryujinx/Ryujinx.HLE/HOS/Services
jhorv 5131b71437
Reducing memory allocations (#4537)
* add RecyclableMemoryStream dependency and MemoryStreamManager

* organize BinaryReader/BinaryWriter extensions

* add StreamExtensions to reduce need for BinaryWriter

* simple replacments of MemoryStream with RecyclableMemoryStream

* add write ReadOnlySequence<byte> support to IVirtualMemoryManager

* avoid 0-length array creation

* rework IpcMessage and related types to greatly reduce memory allocation by using RecylableMemoryStream, keeping streams around longer, avoiding their creation when possible, and avoiding creation of BinaryReader and BinaryWriter when possible

* reduce LINQ-induced memory allocations with custom methods to query KPriorityQueue

* use RecyclableMemoryStream in StreamUtils, and use StreamUtils in EmbeddedResources

* add constants for nanosecond/millisecond conversions

* code formatting

* XML doc adjustments

* fix: StreamExtension.WriteByte not writing non-zero values for lengths <= 16

* XML Doc improvements. Implement StreamExtensions.WriteByte() block writes for large-enough count values.

* add copyless path for StreamExtension.Write(ReadOnlySpan<int>)

* add default implementation of IVirtualMemoryManager.Write(ulong, ReadOnlySequence<byte>); remove previous explicit implementations

* code style fixes

* remove LINQ completely from KScheduler/KPriorityQueue by implementing a custom struct-based enumerator
2023-03-17 13:14:50 +01:00
..
Account Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Am Reducing memory allocations (#4537) 2023-03-17 13:14:50 +01:00
Apm Initial support for the new 12.x IPC system (#2182) 2021-04-14 00:01:24 +02:00
Arp hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Audio IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Bcat Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Bgtc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Bluetooth IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
BluetoothManager IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Caps Replace BitConverter.ToString(bytes).Replace("-", "") with Convert.ToHexString(bytes) (#4382) 2023-02-08 14:54:58 +01:00
Cec Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ectx am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder (#2136) 2021-03-25 23:25:49 +01:00
Erpt Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Es Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Eupld Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Fatal fatal: Implement Service (#3573) 2022-10-02 10:30:46 +02:00
Friend IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Fs Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Grc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Hid Treat NpadIdType < 0 as invalid. Filter invalid SupportedPlayers inside IHidServer.SetSupportedNpadIdType(). (#4377) 2023-02-10 12:37:20 -03:00
Ins Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Lbl Initial support for the new 12.x IPC system (#2182) 2021-04-14 00:01:24 +02:00
Ldn IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Loader Add various error codes to Loader (#1208) 2020-05-04 13:22:28 +02:00
Mig Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Mii Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Mm mm: Cleaned up the service a bit (#2233) 2021-04-22 23:35:01 +02:00
Mnpp Implement/Stub mnpp:app service and some hid calls (#3131) 2022-02-18 02:00:06 +01:00
Ncm Update LibHac to 0.18.0 (#4414) 2023-03-01 23:42:27 -03:00
News Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Nfc IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Ngct Removed unused usings. (#3593) 2022-08-18 18:04:54 +02:00
Nifm Update LibHac to 0.18.0 (#4414) 2023-03-01 23:42:27 -03:00
Nim IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Notification Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Npns Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ns IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Nv Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Olsc oslc: Fix condition in GetSaveDataBackupSetting (#3208) 2022-03-20 13:25:29 -03:00
Ovln Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Pcie Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Pctl pctl: Implement EndFreeCommunication 2022-08-25 23:18:37 +02:00
Pcv IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Pm Implement missing service calls in pm (#4210) 2023-01-15 22:16:24 +01:00
Psc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ptm IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Ro IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Sdb Reducing memory allocations (#4537) 2023-03-17 13:14:50 +01:00
Settings Update LibHac to 0.18.0 (#4414) 2023-03-01 23:42:27 -03:00
Sm Horizon: Impl Prepo, Fixes bugs, Clean things (#4220) 2023-01-08 12:13:39 +00:00
Sockets Sockets: Properly convert error codes on MacOS (#4491) 2023-02-28 03:41:44 +00:00
Spl Update units of memory from decimal to binary prefixes (#3716) 2022-11-16 23:27:42 +01:00
Srepo Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ssl Update LibHac to 0.18.0 (#4414) 2023-03-01 23:42:27 -03:00
SurfaceFlinger IPC refactor part 3+4: New server HIPC message processor (#4188) 2023-01-04 23:15:45 +01:00
Time Misc performance tweaks (#4509) 2023-03-11 17:05:48 -03:00
Usb Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Vi Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Wlan Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
CommandHIpcAttribute.cs Initial support for the new 12.x IPC system (#2182) 2021-04-14 00:01:24 +02:00
CommandTIpcAttribute.cs Initial support for the new 12.x IPC system (#2182) 2021-04-14 00:01:24 +02:00
DisposableIpcService.cs Add dedicated ServerBase for FileSystem services (#3142) 2022-02-19 15:29:11 +01:00
DummyService.cs Refactoring commands handling (#728) 2019-07-11 22:13:43 -03:00
IpcService.cs Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
ServerBase.cs Reducing memory allocations (#4537) 2023-03-17 13:14:50 +01:00
ServiceAttributes.cs IPC refactor part 1: Use explicit separate threads to process requests (#1447) 2020-09-22 14:50:40 +10:00