aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Ipc
diff options
context:
space:
mode:
authorjhorv <38920027+jhorv@users.noreply.github.com>2023-03-11 15:05:48 -0500
committerGitHub <noreply@github.com>2023-03-11 17:05:48 -0300
commit23c844b2aa84a65e573dcc023d19b8f5294a8baf (patch)
treebf9d41ee0f94b833bb52b6b0016ca99a991cd441 /Ryujinx.HLE/HOS/Ipc
parent81691b9e3716c7f7f8b243f0f4ded1d90c526a4e (diff)
Misc performance tweaks (#4509)
* use Array.Empty() where instead of allocating new zero-length arrays * structure for loops in a way that the JIT will elide array/Span bounds checking * avoiding function calls in for loop condition tests * avoid LINQ in a hot path * conform with code style * fix mistake in GetNextWaitingObject() * fix GetNextWaitingObject() possibility of returning null if all list items have TimePoint == long.MaxValue * make GetNextWaitingObject() behave FIFO behavior for multiple items with the same TimePoint
Diffstat (limited to 'Ryujinx.HLE/HOS/Ipc')
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs4
-rw-r--r--Ryujinx.HLE/HOS/Ipc/IpcMessage.cs5
2 files changed, 5 insertions, 4 deletions
diff --git a/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs b/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs
index 439590e0..e6ed4613 100644
--- a/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcHandleDesc.cs
@@ -49,12 +49,12 @@ namespace Ryujinx.HLE.HOS.Ipc
public static IpcHandleDesc MakeCopy(params int[] handles)
{
- return new IpcHandleDesc(handles, new int[0]);
+ return new IpcHandleDesc(handles, Array.Empty<int>());
}
public static IpcHandleDesc MakeMove(params int[] handles)
{
- return new IpcHandleDesc(new int[0], handles);
+ return new IpcHandleDesc(Array.Empty<int>(), handles);
}
public byte[] GetBytes()
diff --git a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs
index 09e237fe..55044da4 100644
--- a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs
+++ b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
@@ -132,7 +133,7 @@ namespace Ryujinx.HLE.HOS.Ipc
word0 |= (ReceiveBuff.Count & 0xf) << 24;
word0 |= (ExchangeBuff.Count & 0xf) << 28;
- byte[] handleData = new byte[0];
+ byte[] handleData = Array.Empty<byte>();
if (HandleDesc != null)
{
@@ -202,7 +203,7 @@ namespace Ryujinx.HLE.HOS.Ipc
word0 |= (ReceiveBuff.Count & 0xf) << 24;
word0 |= (ExchangeBuff.Count & 0xf) << 28;
- byte[] handleData = new byte[0];
+ byte[] handleData = Array.Empty<byte>();
if (HandleDesc != null)
{