aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Instructions/InstEmitMemory32.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2019-02-24 04:24:35 -0300
committerjduncanator <1518948+jduncanator@users.noreply.github.com>2019-02-24 18:24:35 +1100
commit5001f78b1d07b988709dd5f5d1009ebe9b44c669 (patch)
treebb1307949ea9102b8ae2b68fa7e182ed7b75b2df /ChocolArm64/Instructions/InstEmitMemory32.cs
parenta3d46e41335efd049042cc2e38b35c4077e8ed41 (diff)
Optimize address translation and write tracking on the MMU (#571)
* Implement faster address translation and write tracking on the MMU * Rename MemoryAlloc to MemoryManagement, and other nits * Support multi-level page tables * Fix typo * Reword comment a bit * Support scalar vector loads/stores on the memory fast path, and minor fixes * Add missing cast * Alignment * Fix VirtualFree function signature * Change MemoryProtection enum to uint aswell for consistency
Diffstat (limited to 'ChocolArm64/Instructions/InstEmitMemory32.cs')
-rw-r--r--ChocolArm64/Instructions/InstEmitMemory32.cs6
1 files changed, 0 insertions, 6 deletions
diff --git a/ChocolArm64/Instructions/InstEmitMemory32.cs b/ChocolArm64/Instructions/InstEmitMemory32.cs
index 4d6a57a4..1e1419e6 100644
--- a/ChocolArm64/Instructions/InstEmitMemory32.cs
+++ b/ChocolArm64/Instructions/InstEmitMemory32.cs
@@ -64,9 +64,7 @@ namespace ChocolArm64.Instructions
{
if ((mask & 1) != 0)
{
- context.EmitLdarg(TranslatedSub.MemoryArgIdx);
context.EmitLdtmp();
-
context.EmitLdc_I4(offset);
context.Emit(OpCodes.Add);
@@ -129,9 +127,7 @@ namespace ChocolArm64.Instructions
{
if ((mask & 1) != 0)
{
- context.EmitLdarg(TranslatedSub.MemoryArgIdx);
context.EmitLdtmp();
-
context.EmitLdc_I4(offset);
context.Emit(OpCodes.Add);
@@ -198,8 +194,6 @@ namespace ChocolArm64.Instructions
context.EmitSttmp();
}
- context.EmitLdarg(TranslatedSub.MemoryArgIdx);
-
if (op.Index)
{
context.EmitLdtmp();