From 78223484394db924d02383310d8bace8a01fa152 Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Fri, 8 Jun 2018 23:54:50 -0300
Subject: [PATCH] Small cleanup in AMemory and removed some unused usings

---
 ChocolArm64/Memory/AMemory.cs                 | 28 +++++++++++--------
 Ryujinx.Core/OsHle/Kernel/SvcThread.cs        |  1 -
 .../OsHle/Services/Am/IStorageAccessor.cs     |  1 -
 Ryujinx.Core/OsHle/Services/Lm/ILogger.cs     |  1 -
 .../OsHle/Services/Vi/IHOSBinderDriver.cs     |  1 -
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/ChocolArm64/Memory/AMemory.cs b/ChocolArm64/Memory/AMemory.cs
index 7af288a602..2adf540323 100644
--- a/ChocolArm64/Memory/AMemory.cs
+++ b/ChocolArm64/Memory/AMemory.cs
@@ -355,11 +355,18 @@ namespace ChocolArm64.Memory
 
         public byte[] ReadBytes(long Position, long Size)
         {
+            if ((uint)Size > int.MaxValue)
+            {
+                throw new ArgumentOutOfRangeException(nameof(Size));
+            }
+
             EnsureRangeIsValid(Position, Size, AMemoryPerm.Read);
 
-            byte[] Result = new byte[Size];
-            Marshal.Copy((IntPtr)(RamPtr + (uint)Position), Result, 0, (int)Size);
-            return Result;
+            byte[] Data = new byte[Size];
+
+            Marshal.Copy((IntPtr)(RamPtr + (uint)Position), Data, 0, (int)Size);
+
+            return Data;
         }
 
         public Vector128<float> ReadVector8Unchecked(long Position)
@@ -392,9 +399,7 @@ namespace ChocolArm64.Memory
         {
             if (Sse.IsSupported)
             {
-                byte* Address = RamPtr + (uint)Position;
-
-                return Sse.LoadScalarVector128((float*)Address);
+                return Sse.LoadScalarVector128((float*)(RamPtr + (uint)Position));
             }
             else
             {
@@ -420,9 +425,7 @@ namespace ChocolArm64.Memory
         {
             if (Sse.IsSupported)
             {
-                byte* Address = RamPtr + (uint)Position;
-
-                return Sse.LoadVector128((float*)Address);
+                return Sse.LoadVector128((float*)(RamPtr + (uint)Position));
             }
             else
             {
@@ -678,11 +681,12 @@ namespace ChocolArm64.Memory
 
         private void EnsureRangeIsValid(long Position, long Size, AMemoryPerm Perm)
         {
-            long EndPos = (Position + Size);
-            Position = Position & ~AMemoryMgr.PageMask; //check base of each page
-            while (Position < EndPos)
+            long EndPos = Position + Size;
+
+            while ((ulong)Position < (ulong)EndPos)
             {
                 EnsureAccessIsValid(Position, Perm);
+
                 Position += AMemoryMgr.PageSize;
             }
         }
diff --git a/Ryujinx.Core/OsHle/Kernel/SvcThread.cs b/Ryujinx.Core/OsHle/Kernel/SvcThread.cs
index b6346f4e87..8aa26dd3f7 100644
--- a/Ryujinx.Core/OsHle/Kernel/SvcThread.cs
+++ b/Ryujinx.Core/OsHle/Kernel/SvcThread.cs
@@ -1,7 +1,6 @@
 using ChocolArm64.State;
 using Ryujinx.Core.Logging;
 using Ryujinx.Core.OsHle.Handles;
-using System;
 using System.Threading;
 
 using static Ryujinx.Core.OsHle.ErrorCode;
diff --git a/Ryujinx.Core/OsHle/Services/Am/IStorageAccessor.cs b/Ryujinx.Core/OsHle/Services/Am/IStorageAccessor.cs
index 4cd1f99b83..ff00f33065 100644
--- a/Ryujinx.Core/OsHle/Services/Am/IStorageAccessor.cs
+++ b/Ryujinx.Core/OsHle/Services/Am/IStorageAccessor.cs
@@ -1,5 +1,4 @@
 using ChocolArm64.Memory;
-using Ryujinx.Core.Logging;
 using Ryujinx.Core.OsHle.Ipc;
 using System;
 using System.Collections.Generic;
diff --git a/Ryujinx.Core/OsHle/Services/Lm/ILogger.cs b/Ryujinx.Core/OsHle/Services/Lm/ILogger.cs
index 5109010589..41f3710bad 100644
--- a/Ryujinx.Core/OsHle/Services/Lm/ILogger.cs
+++ b/Ryujinx.Core/OsHle/Services/Lm/ILogger.cs
@@ -1,4 +1,3 @@
-using ChocolArm64.Memory;
 using Ryujinx.Core.Logging;
 using Ryujinx.Core.OsHle.Ipc;
 using System.Collections.Generic;
diff --git a/Ryujinx.Core/OsHle/Services/Vi/IHOSBinderDriver.cs b/Ryujinx.Core/OsHle/Services/Vi/IHOSBinderDriver.cs
index 41c3970e75..23746613b9 100644
--- a/Ryujinx.Core/OsHle/Services/Vi/IHOSBinderDriver.cs
+++ b/Ryujinx.Core/OsHle/Services/Vi/IHOSBinderDriver.cs
@@ -1,4 +1,3 @@
-using ChocolArm64.Memory;
 using Ryujinx.Core.OsHle.Handles;
 using Ryujinx.Core.OsHle.Ipc;
 using Ryujinx.Core.OsHle.Services.Android;