From 8a7d99cdeae2355511d4eb43aefb76d0d886bcf8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 26 Apr 2019 01:55:12 -0300 Subject: Refactoring and optimization on CPU translation (#661) * Refactoring and optimization on CPU translation * Remove now unused property * Rename ilBlock -> block (local) * Change equality comparison on RegisterMask for consistency Co-Authored-By: gdkchan * Add back the aggressive inlining attribute to the Synchronize method * Implement IEquatable on the Register struct * Fix identation --- ChocolArm64/Instructions/InstEmitFlowHelper.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'ChocolArm64/Instructions/InstEmitFlowHelper.cs') diff --git a/ChocolArm64/Instructions/InstEmitFlowHelper.cs b/ChocolArm64/Instructions/InstEmitFlowHelper.cs index a6091a57..e7a6bf38 100644 --- a/ChocolArm64/Instructions/InstEmitFlowHelper.cs +++ b/ChocolArm64/Instructions/InstEmitFlowHelper.cs @@ -1,3 +1,4 @@ +using ChocolArm64.IntermediateRepresentation; using ChocolArm64.State; using ChocolArm64.Translation; using System.Reflection; @@ -11,7 +12,7 @@ namespace ChocolArm64.Instructions { if (context.Tier == TranslationTier.Tier0) { - context.EmitStoreState(); + context.EmitStoreContext(); context.TranslateAhead(imm); @@ -26,13 +27,13 @@ namespace ChocolArm64.Instructions { context.HasSlowCall = true; - context.EmitStoreState(); + context.EmitStoreContext(); context.TranslateAhead(imm); context.EmitLdarg(TranslatedSub.StateArgIdx); - context.EmitFieldLoad(typeof(CpuThreadState).GetField(nameof(CpuThreadState.CurrentTranslator), + context.EmitLdfld(typeof(CpuThreadState).GetField(nameof(CpuThreadState.CurrentTranslator), BindingFlags.Instance | BindingFlags.NonPublic)); @@ -72,7 +73,7 @@ namespace ChocolArm64.Instructions context.EmitSttmp(); context.EmitLdarg(TranslatedSub.StateArgIdx); - context.EmitFieldLoad(typeof(CpuThreadState).GetField(nameof(CpuThreadState.CurrentTranslator), + context.EmitLdfld(typeof(CpuThreadState).GetField(nameof(CpuThreadState.CurrentTranslator), BindingFlags.Instance | BindingFlags.NonPublic)); @@ -132,7 +133,7 @@ namespace ChocolArm64.Instructions context.Emit(OpCodes.Pop); - context.EmitLoadState(); + context.EmitLoadContext(); } else { -- cgit v1.2.3