aboutsummaryrefslogtreecommitdiff
path: root/src/ARMeilleure/Translation/Cache/JitCache.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARMeilleure/Translation/Cache/JitCache.cs')
-rw-r--r--src/ARMeilleure/Translation/Cache/JitCache.cs32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/ARMeilleure/Translation/Cache/JitCache.cs b/src/ARMeilleure/Translation/Cache/JitCache.cs
index 03cba5ad..91a05412 100644
--- a/src/ARMeilleure/Translation/Cache/JitCache.cs
+++ b/src/ARMeilleure/Translation/Cache/JitCache.cs
@@ -13,8 +13,8 @@ namespace ARMeilleure.Translation.Cache
{
static partial class JitCache
{
- private static readonly int PageSize = (int)MemoryBlock.GetPageSize();
- private static readonly int PageMask = PageSize - 1;
+ private static readonly int _pageSize = (int)MemoryBlock.GetPageSize();
+ private static readonly int _pageMask = _pageSize - 1;
private const int CodeAlignment = 4; // Bytes.
private const int CacheSize = 2047 * 1024 * 1024;
@@ -24,7 +24,7 @@ namespace ARMeilleure.Translation.Cache
private static CacheMemoryAllocator _cacheAllocator;
- private static readonly List<CacheEntry> _cacheEntries = new List<CacheEntry>();
+ private static readonly List<CacheEntry> _cacheEntries = new();
private static readonly object _lock = new();
private static bool _initialized;
@@ -35,11 +35,17 @@ namespace ARMeilleure.Translation.Cache
public static void Initialize(IJitMemoryAllocator allocator)
{
- if (_initialized) return;
+ if (_initialized)
+ {
+ return;
+ }
lock (_lock)
{
- if (_initialized) return;
+ if (_initialized)
+ {
+ return;
+ }
_jitRegion = new ReservedRegion(allocator, CacheSize);
@@ -52,7 +58,7 @@ namespace ARMeilleure.Translation.Cache
if (OperatingSystem.IsWindows())
{
- JitUnwindWindows.InstallFunctionTableHandler(_jitRegion.Pointer, CacheSize, _jitRegion.Pointer + Allocate(PageSize));
+ JitUnwindWindows.InstallFunctionTableHandler(_jitRegion.Pointer, CacheSize, _jitRegion.Pointer + Allocate(_pageSize));
}
_initialized = true;
@@ -75,7 +81,7 @@ namespace ARMeilleure.Translation.Cache
{
unsafe
{
- fixed (byte *codePtr = code)
+ fixed (byte* codePtr = code)
{
JitSupportDarwin.Copy(funcPtr, (IntPtr)codePtr, (ulong)code.Length);
}
@@ -124,8 +130,8 @@ namespace ARMeilleure.Translation.Cache
{
int endOffs = offset + size;
- int regionStart = offset & ~PageMask;
- int regionEnd = (endOffs + PageMask) & ~PageMask;
+ int regionStart = offset & ~_pageMask;
+ int regionEnd = (endOffs + _pageMask) & ~_pageMask;
_jitRegion.Block.MapAsRwx((ulong)regionStart, (ulong)(regionEnd - regionStart));
}
@@ -134,8 +140,8 @@ namespace ARMeilleure.Translation.Cache
{
int endOffs = offset + size;
- int regionStart = offset & ~PageMask;
- int regionEnd = (endOffs + PageMask) & ~PageMask;
+ int regionStart = offset & ~_pageMask;
+ int regionEnd = (endOffs + _pageMask) & ~_pageMask;
_jitRegion.Block.MapAsRx((ulong)regionStart, (ulong)(regionEnd - regionStart));
}
@@ -163,7 +169,7 @@ namespace ARMeilleure.Translation.Cache
private static void Add(int offset, int size, UnwindInfo unwindInfo)
{
- CacheEntry entry = new CacheEntry(offset, size, unwindInfo);
+ CacheEntry entry = new(offset, size, unwindInfo);
int index = _cacheEntries.BinarySearch(entry);
@@ -212,4 +218,4 @@ namespace ARMeilleure.Translation.Cache
return false;
}
}
-} \ No newline at end of file
+}