misc: chore: Use explicit types in HLE project

This commit is contained in:
Evan Husted 2025-01-25 14:13:18 -06:00
parent 58c1ab7989
commit 5eba42fa06
80 changed files with 410 additions and 397 deletions

View file

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
for (int i = 0; i < MemoryRegions.Length; i++)
{
var region = MemoryRegions[i];
KMemoryRegionManager region = MemoryRegions[i];
if (address >= region.Address && address < region.EndAddr)
{
@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
while (pagesCount != 0)
{
var region = GetMemoryRegion(address);
KMemoryRegionManager region = GetMemoryRegion(address);
ulong countToProcess = Math.Min(pagesCount, region.GetPageOffsetFromEnd(address));

View file

@ -40,7 +40,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
if (result == Result.Success)
{
foreach (var node in pageList)
foreach (KPageNode node in pageList)
{
IncrementPagesReferenceCount(node.Address, node.PagesCount);
}

View file

@ -162,7 +162,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public bool ClearRange(ulong offset, int count)
{
int depth = HighestDepthIndex;
var bits = _bitStorages[depth];
ArraySegment<ulong> bits = _bitStorages[depth];
int bitInd = (int)(offset / UInt64BitSize);

View file

@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
_blocksCount = blockShifts.Length;
_blocks = new Block[_memoryBlockPageShifts.Length];
var currBitmapStorage = new ArraySegment<ulong>(new ulong[CalculateManagementOverheadSize(size, blockShifts)]);
ArraySegment<ulong> currBitmapStorage = new ArraySegment<ulong>(new ulong[CalculateManagementOverheadSize(size, blockShifts)]);
for (int i = 0; i < blockShifts.Length; i++)
{

View file

@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public void IncrementPagesReferenceCount(KMemoryManager manager)
{
foreach (var node in this)
foreach (KPageNode node in this)
{
manager.IncrementPagesReferenceCount(node.Address, node.PagesCount);
}
@ -78,7 +78,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
public void DecrementPagesReferenceCount(KMemoryManager manager)
{
foreach (var node in this)
foreach (KPageNode node in this)
{
manager.DecrementPagesReferenceCount(node.Address, node.PagesCount);
}

View file

@ -28,8 +28,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
/// <inheritdoc/>
protected override void GetPhysicalRegions(ulong va, ulong size, KPageList pageList)
{
var ranges = _cpuMemory.GetPhysicalRegions(va, size);
foreach (var range in ranges)
IEnumerable<MemoryRange> ranges = _cpuMemory.GetPhysicalRegions(va, size);
foreach (MemoryRange range in ranges)
{
pageList.AddRange(range.Address + DramMemoryMap.DramBase, range.Size / PageSize);
}
@ -143,11 +143,11 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
bool shouldFillPages,
byte fillValue)
{
using var scopedPageList = new KScopedPageList(Context.MemoryManager, pageList);
using KScopedPageList scopedPageList = new KScopedPageList(Context.MemoryManager, pageList);
ulong currentVa = address;
foreach (var pageNode in pageList)
foreach (KPageNode pageNode in pageList)
{
ulong addr = pageNode.Address - DramMemoryMap.DramBase;
ulong size = pageNode.PagesCount * PageSize;
@ -188,16 +188,16 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
}
}
using var scopedPageList = new KScopedPageList(Context.MemoryManager, pageList);
using KScopedPageList scopedPageList = new KScopedPageList(Context.MemoryManager, pageList);
foreach (var pageNode in pageList)
foreach (KPageNode pageNode in pageList)
{
Context.CommitMemory(pageNode.Address - DramMemoryMap.DramBase, pageNode.PagesCount * PageSize);
}
ulong offset = 0;
foreach (var region in regions)
foreach (HostMemoryRange region in regions)
{
_cpuMemory.MapForeign(va + offset, region.Address, region.Size);
@ -214,9 +214,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
{
KPageList pagesToClose = new();
var regions = _cpuMemory.GetPhysicalRegions(address, pagesCount * PageSize);
IEnumerable<MemoryRange> regions = _cpuMemory.GetPhysicalRegions(address, pagesCount * PageSize);
foreach (var region in regions)
foreach (MemoryRange region in regions)
{
ulong pa = region.Address + DramMemoryMap.DramBase;
if (DramMemoryMap.IsHeapPhysicalAddress(pa))

View file

@ -617,7 +617,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
return result;
}
using var _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
using OnScopeExit _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
return MapPages(address, pageList, permission, MemoryMapFlags.Private);
}
@ -769,7 +769,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
Result result = region.AllocatePages(out KPageList pageList, pagesCount);
using var _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
using OnScopeExit _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
void CleanUpForError()
{
@ -1341,7 +1341,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
Result result = region.AllocatePages(out KPageList pageList, remainingPages);
using var _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
using OnScopeExit _ = new OnScopeExit(() => pageList.DecrementPagesReferenceCount(Context.MemoryManager));
void CleanUpForError()
{
@ -1867,7 +1867,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
ulong dstLastPagePa = 0;
ulong currentVa = va;
using var _ = new OnScopeExit(() =>
using OnScopeExit _ = new OnScopeExit(() =>
{
if (dstFirstPagePa != 0)
{
@ -1928,7 +1928,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
Context.Memory.Fill(GetDramAddressFromPa(dstFirstPagePa), unusedSizeBefore, (byte)_ipcFillValue);
ulong copySize = addressRounded <= endAddr ? addressRounded - address : size;
var data = srcPageTable.GetReadOnlySequence(addressTruncated + unusedSizeBefore, (int)copySize);
ReadOnlySequence<byte> data = srcPageTable.GetReadOnlySequence(addressTruncated + unusedSizeBefore, (int)copySize);
((IWritableBlock)Context.Memory).Write(GetDramAddressFromPa(dstFirstPagePa + unusedSizeBefore), data);
@ -1994,7 +1994,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
if (send)
{
ulong copySize = endAddr - endAddrTruncated;
var data = srcPageTable.GetReadOnlySequence(endAddrTruncated, (int)copySize);
ReadOnlySequence<byte> data = srcPageTable.GetReadOnlySequence(endAddrTruncated, (int)copySize);
((IWritableBlock)Context.Memory).Write(GetDramAddressFromPa(dstLastPagePa), data);

View file

@ -1,3 +1,4 @@
using Ryujinx.Cpu;
using Ryujinx.HLE.HOS.Diagnostics.Demangler;
using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Kernel.Threading;
@ -47,7 +48,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
{
EnsureLoaded();
var context = thread.Context;
IExecutionContext context = thread.Context;
StringBuilder trace = new();
@ -109,13 +110,13 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
{
EnsureLoaded();
var context = thread.Context;
IExecutionContext context = thread.Context;
StringBuilder sb = new();
string GetReg(int x)
{
var v = x == 32 ? context.Pc : context.GetX(x);
ulong v = x == 32 ? context.Pc : context.GetX(x);
if (!AnalyzePointer(out PointerInfo info, v, thread))
{
return $"0x{v:x16}";
@ -251,7 +252,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
info = default;
ulong sp = thread.Context.GetX(31);
var memoryInfo = _owner.MemoryManager.QueryMemory(address);
KMemoryInfo memoryInfo = _owner.MemoryManager.QueryMemory(address);
MemoryState memoryState = memoryInfo.State;
if (!memoryState.HasFlag(MemoryState.Stack)) // Is this pointer within the stack?

View file

@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
KProcess process = new(_context);
using var _ = new OnScopeExit(process.DecrementReferenceCount);
using OnScopeExit _ = new OnScopeExit(process.DecrementReferenceCount);
KResourceLimit resourceLimit;
@ -1425,7 +1425,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
KCodeMemory codeMemory = new(_context);
using var _ = new OnScopeExit(codeMemory.DecrementReferenceCount);
using OnScopeExit _ = new OnScopeExit(codeMemory.DecrementReferenceCount);
KProcess currentProcess = KernelStatic.GetCurrentProcess();
@ -2854,7 +2854,7 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall
KThread currentThread = KernelStatic.GetCurrentThread();
var syncObjs = new Span<KSynchronizationObject>(currentThread.WaitSyncObjects)[..handles.Length];
Span<KSynchronizationObject> syncObjs = new Span<KSynchronizationObject>(currentThread.WaitSyncObjects)[..handles.Length];
if (handles.Length != 0)
{

View file

@ -562,8 +562,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
Action<KThread> removeCallback,
Func<KThread, bool> predicate)
{
var candidates = threads.Where(predicate).OrderBy(x => x.DynamicPriority);
var toSignal = (count > 0 ? candidates.Take(count) : candidates).ToArray();
IOrderedEnumerable<KThread> candidates = threads.Where(predicate).OrderBy(x => x.DynamicPriority);
KThread[] toSignal = (count > 0 ? candidates.Take(count) : candidates).ToArray();
foreach (KThread thread in toSignal)
{

View file

@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
public KThread ScheduledThreadsElementAtOrDefault(int core, int index)
{
int currentIndex = 0;
foreach (var scheduledThread in ScheduledThreads(core))
foreach (KThread scheduledThread in ScheduledThreads(core))
{
if (currentIndex == index)
{
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
public KThread ScheduledThreadsWithDynamicPriorityFirstOrDefault(int core, int dynamicPriority)
{
foreach (var scheduledThread in ScheduledThreads(core))
foreach (KThread scheduledThread in ScheduledThreads(core))
{
if (scheduledThread.DynamicPriority == dynamicPriority)
{

View file

@ -1232,7 +1232,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
{
if (_schedulerWaitEvent == null)
{
var schedulerWaitEvent = new ManualResetEvent(false);
ManualResetEvent schedulerWaitEvent = new ManualResetEvent(false);
if (Interlocked.Exchange(ref _schedulerWaitEvent, schedulerWaitEvent) == null)
{