aboutsummaryrefslogtreecommitdiff
path: root/src/ARMeilleure/Signal
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARMeilleure/Signal')
-rw-r--r--src/ARMeilleure/Signal/NativeSignalHandler.cs18
-rw-r--r--src/ARMeilleure/Signal/TestMethods.cs6
-rw-r--r--src/ARMeilleure/Signal/UnixSignalHandlerRegistration.cs4
-rw-r--r--src/ARMeilleure/Signal/WindowsPartialUnmapHandler.cs2
4 files changed, 19 insertions, 11 deletions
diff --git a/src/ARMeilleure/Signal/NativeSignalHandler.cs b/src/ARMeilleure/Signal/NativeSignalHandler.cs
index 5da0c772..ed284677 100644
--- a/src/ARMeilleure/Signal/NativeSignalHandler.cs
+++ b/src/ARMeilleure/Signal/NativeSignalHandler.cs
@@ -74,7 +74,7 @@ namespace ARMeilleure.Signal
private static ulong _pageSize;
private static ulong _pageMask;
- private static IntPtr _handlerConfig;
+ private static readonly IntPtr _handlerConfig;
private static IntPtr _signalHandlerPtr;
private static IntPtr _signalHandlerHandle;
@@ -96,11 +96,17 @@ namespace ARMeilleure.Signal
public static void InitializeSignalHandler(ulong pageSize, Func<IntPtr, IntPtr, IntPtr> customSignalHandlerFactory = null)
{
- if (_initialized) return;
+ if (_initialized)
+ {
+ return;
+ }
lock (_lock)
{
- if (_initialized) return;
+ if (_initialized)
+ {
+ return;
+ }
_pageSize = pageSize;
_pageMask = pageSize - 1;
@@ -284,7 +290,7 @@ namespace ARMeilleure.Signal
const ulong auxOffset = 464; // uc_mcontext.__reserved
const uint esrMagic = 0x45535201;
- context.Copy(auxPtr, context.Add(ucontextPtr, Const(auxOffset)));
+ context.Copy(auxPtr, context.Add(ucontextPtr, Const(auxOffset)));
context.MarkLabel(loopLabel);
@@ -319,7 +325,7 @@ namespace ARMeilleure.Signal
private static UnixExceptionHandler GenerateUnixSignalHandler(IntPtr signalStructPtr)
{
- EmitterContext context = new EmitterContext();
+ EmitterContext context = new();
// (int sig, SigInfo* sigInfo, void* ucontext)
Operand sigInfoPtr = context.LoadArgument(OperandType.I64, 1);
@@ -367,7 +373,7 @@ namespace ARMeilleure.Signal
private static VectoredExceptionHandler GenerateWindowsSignalHandler(IntPtr signalStructPtr)
{
- EmitterContext context = new EmitterContext();
+ EmitterContext context = new();
// (ExceptionPointers* exceptionInfo)
Operand exceptionInfoPtr = context.LoadArgument(OperandType.I64, 0);
diff --git a/src/ARMeilleure/Signal/TestMethods.cs b/src/ARMeilleure/Signal/TestMethods.cs
index e2ecad24..ec228c85 100644
--- a/src/ARMeilleure/Signal/TestMethods.cs
+++ b/src/ARMeilleure/Signal/TestMethods.cs
@@ -20,7 +20,7 @@ namespace ARMeilleure.Signal
public static DebugPartialUnmap GenerateDebugPartialUnmap()
{
- EmitterContext context = new EmitterContext();
+ EmitterContext context = new();
var result = WindowsPartialUnmapHandler.EmitRetryFromAccessViolation(context);
@@ -37,7 +37,7 @@ namespace ARMeilleure.Signal
public static DebugThreadLocalMapGetOrReserve GenerateDebugThreadLocalMapGetOrReserve(IntPtr structPtr)
{
- EmitterContext context = new EmitterContext();
+ EmitterContext context = new();
var result = WindowsPartialUnmapHandler.EmitThreadLocalMapIntGetOrReserve(context, structPtr, context.LoadArgument(OperandType.I32, 0), context.LoadArgument(OperandType.I32, 1));
@@ -54,7 +54,7 @@ namespace ARMeilleure.Signal
public static DebugNativeWriteLoop GenerateDebugNativeWriteLoop()
{
- EmitterContext context = new EmitterContext();
+ EmitterContext context = new();
// Loop a write to the target address until "running" is false.
diff --git a/src/ARMeilleure/Signal/UnixSignalHandlerRegistration.cs b/src/ARMeilleure/Signal/UnixSignalHandlerRegistration.cs
index 22009240..79a8f803 100644
--- a/src/ARMeilleure/Signal/UnixSignalHandlerRegistration.cs
+++ b/src/ARMeilleure/Signal/UnixSignalHandlerRegistration.cs
@@ -47,10 +47,10 @@ namespace ARMeilleure.Signal
public static SigAction RegisterExceptionHandler(IntPtr action)
{
- SigAction sig = new SigAction
+ SigAction sig = new()
{
sa_handler = action,
- sa_flags = SA_SIGINFO
+ sa_flags = SA_SIGINFO,
};
sigemptyset(ref sig.sa_mask);
diff --git a/src/ARMeilleure/Signal/WindowsPartialUnmapHandler.cs b/src/ARMeilleure/Signal/WindowsPartialUnmapHandler.cs
index 941e36e5..4da1b32d 100644
--- a/src/ARMeilleure/Signal/WindowsPartialUnmapHandler.cs
+++ b/src/ARMeilleure/Signal/WindowsPartialUnmapHandler.cs
@@ -137,6 +137,7 @@ namespace ARMeilleure.Signal
return context.Add(structsPtr, context.SignExtend32(OperandType.I64, offset));
}
+#pragma warning disable IDE0051 // Remove unused private member
private static void EmitThreadLocalMapIntRelease(EmitterContext context, IntPtr threadLocalMapPtr, Operand threadId, Operand index)
{
Operand offset = context.Multiply(index, Const(sizeof(int)));
@@ -145,6 +146,7 @@ namespace ARMeilleure.Signal
context.CompareAndSwap(idPtr, threadId, Const(0));
}
+#pragma warning restore IDE0051
private static void EmitAtomicAddI32(EmitterContext context, Operand ptr, Operand additive)
{