mirror of
https://git.zaroz.cloud/nintendo-back-up/Ryujinx.git
synced 2026-01-01 06:57:18 +00:00
Move solution and projects to src
This commit is contained in:
32
src/Ryujinx.Cpu/MemoryManagerBase.cs
Normal file
32
src/Ryujinx.Cpu/MemoryManagerBase.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user