aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-07-16 19:31:14 +0200
committerGitHub <noreply@github.com>2023-07-16 19:31:14 +0200
commit326749498bed4360e5a4b11fc67d5ec7cb9a3076 (patch)
treeae21fb26f99b401ca4e9efaab72b679a81c22369 /src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs
parentfec8291c17fa106c28f58b56419e90d49a41a1ea (diff)
[Ryujinx.HLE] Address dotnet-format issues (#5380)1.1.962
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA2208 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address dotnet format CA2211 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Make dotnet format succeed in style mode * Address or silence dotnet format CA2211 warnings * Address review comments * Address dotnet format CA2208 warnings properly * Make ProcessResult readonly * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for while and for-loops * Format if-blocks correctly * Run dotnet format style after rebase * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Fix a few disabled warnings * Fix naming rule violation, Convert shader properties to auto-property and convert values to const * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Run dotnet format after rebase * Use using declaration instead of block syntax * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Fix naming rule violations * Fix typo * Add trailing commas, use targeted new and use array initializer * Fix build issues * Fix remaining build issues * Remove SuppressMessage for CA1069 where possible * Address dotnet format issues * Address formatting issues Co-authored-by: Ac_K <acoustik666@gmail.com> * Add GetHashCode implementation for RenderingSurfaceInfo * Explicitly silence CA1822 for every affected method in Syscall * Address formatting issues in Demangler.cs * Address review feedback Co-authored-by: Ac_K <acoustik666@gmail.com> * Revert marking service methods as static * Next dotnet format pass * Address review feedback --------- Co-authored-by: Ac_K <acoustik666@gmail.com>
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs41
1 files changed, 17 insertions, 24 deletions
diff --git a/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs
index c284243a..6008548b 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs
@@ -27,8 +27,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
public KPageTableBase MemoryManager { get; private set; }
- private SortedDictionary<ulong, KTlsPageInfo> _fullTlsPages;
- private SortedDictionary<ulong, KTlsPageInfo> _freeTlsPages;
+ private readonly SortedDictionary<ulong, KTlsPageInfo> _fullTlsPages;
+ private readonly SortedDictionary<ulong, KTlsPageInfo> _freeTlsPages;
public int DefaultCpuCore { get; set; }
@@ -66,19 +66,17 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
public bool IsApplication { get; private set; }
public ulong Pid { get; private set; }
- private long _creationTimestamp;
private ulong _entrypoint;
private ThreadStart _customThreadStart;
private ulong _imageSize;
private ulong _mainThreadStackSize;
private ulong _memoryUsageCapacity;
- private int _version;
public KHandleTable HandleTable { get; private set; }
public ulong UserExceptionContextAddress { get; private set; }
- private LinkedList<KThread> _threads;
+ private readonly LinkedList<KThread> _threads;
public bool IsPaused { get; private set; }
@@ -107,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
PinnedThreads = new KThread[KScheduler.CpuCoresCount];
// TODO: Remove once we no longer need to initialize it externally.
- HandleTable = new KHandleTable(context);
+ HandleTable = new KHandleTable();
_threads = new LinkedList<KThread>();
@@ -347,10 +345,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
State = ProcessState.Created;
- _creationTimestamp = PerformanceCounter.ElapsedMilliseconds;
-
Flags = creationInfo.Flags;
- _version = creationInfo.Version;
TitleId = creationInfo.TitleId;
_entrypoint = creationInfo.CodeAddress;
_imageSize = (ulong)creationInfo.CodePagesCount * KPageTableBase.PageSize;
@@ -370,8 +365,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
MemoryManager.AliasRegionEnd -
MemoryManager.AliasRegionStart;
break;
-
- default: throw new InvalidOperationException($"Invalid MMU flags value 0x{Flags:x2}.");
+ default:
+ throw new InvalidOperationException($"Invalid MMU flags value 0x{Flags:x2}.");
}
GenerateRandomEntropy();
@@ -476,9 +471,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
Result result = Result.Success;
- KTlsPageInfo pageInfo;
- if (_fullTlsPages.TryGetValue(tlsPageAddr, out pageInfo))
+ if (_fullTlsPages.TryGetValue(tlsPageAddr, out KTlsPageInfo pageInfo))
{
// TLS page was full, free slot and move to free pages tree.
_fullTlsPages.Remove(tlsPageAddr);
@@ -525,10 +519,12 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
return result;
}
+#pragma warning disable CA1822 // Mark member as static
private void GenerateRandomEntropy()
{
// TODO.
}
+#pragma warning restore CA1822
public Result Start(int mainThreadPriority, ulong stackSize)
{
@@ -549,7 +545,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
if (_mainThreadStackSize != 0)
{
- throw new InvalidOperationException("Trying to start a process with a invalid state!");
+ throw new InvalidOperationException("Trying to start a process with an invalid state!");
}
ulong stackSizeRounded = BitUtils.AlignUp<ulong>(stackSize, KPageTableBase.PageSize);
@@ -648,7 +644,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
return result;
}
- HandleTable = new KHandleTable(KernelContext);
+ HandleTable = new KHandleTable();
result = HandleTable.Initialize(Capabilities.HandleTableSize);
@@ -1018,22 +1014,19 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
}
}
- private void SignalExitToDebugTerminated()
+ private static void SignalExitToDebugTerminated()
{
// TODO: Debug events.
}
- private void SignalExitToDebugExited()
+ private static void SignalExitToDebugExited()
{
// TODO: Debug events.
}
private void SignalExit()
{
- if (ResourceLimit != null)
- {
- ResourceLimit.Release(LimitableResource.Memory, GetMemoryUsage());
- }
+ ResourceLimit?.Release(LimitableResource.Memory, GetMemoryUsage());
KernelContext.CriticalSection.Enter();
@@ -1075,7 +1068,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
ProcessCreationFlags.AddressSpace64BitDeprecated => 36,
ProcessCreationFlags.AddressSpace32BitWithoutAlias => 32,
ProcessCreationFlags.AddressSpace64Bit => 39,
- _ => 39
+ _ => 39,
};
bool for64Bit = flags.HasFlag(ProcessCreationFlags.Is64Bit);
@@ -1184,10 +1177,10 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
}
}
- public bool IsExceptionUserThread(KThread thread)
+ public static bool IsExceptionUserThread(KThread thread)
{
// TODO
return false;
}
}
-} \ No newline at end of file
+}