aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel')
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Common/MersenneTwister.cs5
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Memory/KMemoryRegionManager.cs9
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Process/KContextIdManager.cs3
-rw-r--r--Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs3
4 files changed, 12 insertions, 8 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Common/MersenneTwister.cs b/Ryujinx.HLE/HOS/Kernel/Common/MersenneTwister.cs
index 7f767c1c..8b4c2dda 100644
--- a/Ryujinx.HLE/HOS/Kernel/Common/MersenneTwister.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Common/MersenneTwister.cs
@@ -1,4 +1,5 @@
using Ryujinx.Common;
+using System.Numerics;
namespace Ryujinx.HLE.HOS.Kernel.Common
{
@@ -41,10 +42,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
range++;
// This is log2(Range) plus one.
- int nextRangeLog2 = 64 - BitUtils.CountLeadingZeros64(range);
+ int nextRangeLog2 = 64 - BitOperations.LeadingZeroCount((ulong)range);
// If Range is already power of 2, subtract one to use log2(Range) directly.
- int rangeLog2 = nextRangeLog2 - (BitUtils.IsPowerOfTwo64(range) ? 1 : 0);
+ int rangeLog2 = nextRangeLog2 - (BitOperations.IsPow2(range) ? 1 : 0);
int parts = rangeLog2 > 32 ? 2 : 1;
int bitsPerPart = rangeLog2 / parts;
diff --git a/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryRegionManager.cs b/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryRegionManager.cs
index f35a3c36..43e3e820 100644
--- a/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryRegionManager.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Memory/KMemoryRegionManager.cs
@@ -1,6 +1,7 @@
using Ryujinx.Common;
using Ryujinx.HLE.HOS.Kernel.Common;
using System.Diagnostics;
+using System.Numerics;
namespace Ryujinx.HLE.HOS.Kernel.Memory
{
@@ -259,11 +260,11 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
if (backwards)
{
- index = (index * 64 + 63) - BitUtils.CountLeadingZeros64(mask);
+ index = (index * 64 + 63) - BitOperations.LeadingZeroCount((ulong)mask);
}
else
{
- index = index * 64 + BitUtils.CountLeadingZeros64(BitUtils.ReverseBits64(mask));
+ index = index * 64 + BitOperations.LeadingZeroCount((ulong)BitUtils.ReverseBits64(mask));
}
}
@@ -312,11 +313,11 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
if (backwards)
{
- index = index * 64 + BitUtils.CountLeadingZeros64(BitUtils.ReverseBits64(mask));
+ index = index * 64 + BitOperations.LeadingZeroCount((ulong)BitUtils.ReverseBits64(mask));
}
else
{
- index = (index * 64 + 63) - BitUtils.CountLeadingZeros64(mask);
+ index = (index * 64 + 63) - BitOperations.LeadingZeroCount((ulong)mask);
}
}
diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KContextIdManager.cs b/Ryujinx.HLE/HOS/Kernel/Process/KContextIdManager.cs
index 0392b930..ed57ae04 100644
--- a/Ryujinx.HLE/HOS/Kernel/Process/KContextIdManager.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Process/KContextIdManager.cs
@@ -1,5 +1,6 @@
using Ryujinx.Common;
using System;
+using System.Numerics;
namespace Ryujinx.HLE.HOS.Kernel.Process
{
@@ -32,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
{
int mask = _idMasks[index];
- int firstFreeBit = BitUtils.CountLeadingZeros32((mask + 1) & ~mask);
+ int firstFreeBit = BitOperations.LeadingZeroCount((uint)((mask + 1) & ~mask));
if (firstFreeBit < 32)
{
diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
index 55e839ab..7fb98017 100644
--- a/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
+++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs
@@ -3,6 +3,7 @@ using Ryujinx.HLE.HOS.Kernel.Common;
using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Kernel.Threading;
using System;
+using System.Numerics;
namespace Ryujinx.HLE.HOS.Kernel.Process
{
@@ -130,7 +131,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
return KernelResult.Success;
}
- int codeMask = 1 << (32 - BitUtils.CountLeadingZeros32(code + 1));
+ int codeMask = 1 << (32 - BitOperations.LeadingZeroCount((uint)code + 1));
// Check if the property was already set.
if (((mask0 & codeMask) & 0x1e008) != 0)