aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Cpu/MemoryManagerBase.cs
diff options
context:
space:
mode:
authorjhorv <38920027+jhorv@users.noreply.github.com>2024-03-09 19:01:51 -0500
committerGitHub <noreply@github.com>2024-03-09 21:01:51 -0300
commita3a63d43948b79450d1a0ee963ea4796cb3532a0 (patch)
treeb97c0c19bac9ce065fdf4acad7b0c170f7a6b1dc /src/Ryujinx.Cpu/MemoryManagerBase.cs
parent3924bd1a4364455ab8a5747e3cb0b3000dbaa589 (diff)
Refactor memory managers to a common base class, consolidate Read() method logic (#6360)
* - add new abstract class `VirtualMemoryManagerBase` - rename `MemoryManagerBase` to `VirtualMemoryManagerRefCountedBase` and derive from `VirtualMemoryManagerBase` - change `AddressSpaceManager`, `HvMemoryManager`, `MemoryManager`, and `MemoryManagerHostMapped` to implement abstract members and use the inherited `void VirtualMemoryManagerBase.Read(TVirtual va, Span<byte> data)` implementation. * move property `AddressSpaceSize` up by the other properties
Diffstat (limited to 'src/Ryujinx.Cpu/MemoryManagerBase.cs')
-rw-r--r--src/Ryujinx.Cpu/MemoryManagerBase.cs32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/Ryujinx.Cpu/MemoryManagerBase.cs b/src/Ryujinx.Cpu/MemoryManagerBase.cs
deleted file mode 100644
index 3288e3a4..00000000
--- a/src/Ryujinx.Cpu/MemoryManagerBase.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using Ryujinx.Memory;
-using System.Diagnostics;
-using System.Threading;
-
-namespace Ryujinx.Cpu
-{
- public abstract class MemoryManagerBase : IRefCounted
- {
- private int _referenceCount;
-
- public void IncrementReferenceCount()
- {
- int newRefCount = Interlocked.Increment(ref _referenceCount);
-
- Debug.Assert(newRefCount >= 1);
- }
-
- public void DecrementReferenceCount()
- {
- int newRefCount = Interlocked.Decrement(ref _referenceCount);
-
- Debug.Assert(newRefCount >= 0);
-
- if (newRefCount == 0)
- {
- Destroy();
- }
- }
-
- protected abstract void Destroy();
- }
-}