From 6c9565693fd87ae1af81ed63b5fbdde2a5dbecb8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 22 Sep 2020 01:50:40 -0300 Subject: IPC refactor part 1: Use explicit separate threads to process requests (#1447) * Changes to allow explicit management of service threads * Remove now unused code * Remove ThreadCounter, its no longer needed * Allow and use separate server per service, also fix exit issues * New policy change: PTC version now uses PR number --- ARMeilleure/Instructions/InstEmitException.cs | 3 ++- ARMeilleure/Instructions/InstEmitException32.cs | 2 ++ ARMeilleure/Translation/PTC/Ptc.cs | 2 +- ARMeilleure/Translation/Translator.cs | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) (limited to 'ARMeilleure') diff --git a/ARMeilleure/Instructions/InstEmitException.cs b/ARMeilleure/Instructions/InstEmitException.cs index 9cfd066f..c04ba6f2 100644 --- a/ARMeilleure/Instructions/InstEmitException.cs +++ b/ARMeilleure/Instructions/InstEmitException.cs @@ -1,7 +1,6 @@ using ARMeilleure.Decoders; using ARMeilleure.Translation; -using static ARMeilleure.Instructions.InstEmitFlowHelper; using static ARMeilleure.IntermediateRepresentation.OperandHelper; namespace ARMeilleure.Instructions @@ -27,6 +26,8 @@ namespace ARMeilleure.Instructions context.Call(typeof(NativeInterface).GetMethod(name), Const(op.Address), Const(op.Id)); context.LoadFromContext(); + + Translator.EmitSynchronization(context); } public static void Und(ArmEmitterContext context) diff --git a/ARMeilleure/Instructions/InstEmitException32.cs b/ARMeilleure/Instructions/InstEmitException32.cs index fd67ed52..5357e8a9 100644 --- a/ARMeilleure/Instructions/InstEmitException32.cs +++ b/ARMeilleure/Instructions/InstEmitException32.cs @@ -27,6 +27,8 @@ namespace ARMeilleure.Instructions context.Call(typeof(NativeInterface).GetMethod(name), Const(op.Address), Const(op.Id)); context.LoadFromContext(); + + Translator.EmitSynchronization(context); } } } diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs index c0b59a88..26b00469 100644 --- a/ARMeilleure/Translation/PTC/Ptc.cs +++ b/ARMeilleure/Translation/PTC/Ptc.cs @@ -21,7 +21,7 @@ namespace ARMeilleure.Translation.PTC { private const string HeaderMagic = "PTChd"; - private const int InternalVersion = 1528; //! To be incremented manually for each change to the ARMeilleure project. + private const int InternalVersion = 1447; //! To be incremented manually for each change to the ARMeilleure project. private const string ActualDir = "0"; private const string BackupDir = "1"; diff --git a/ARMeilleure/Translation/Translator.cs b/ARMeilleure/Translation/Translator.cs index 4448abd7..2bd00569 100644 --- a/ARMeilleure/Translation/Translator.cs +++ b/ARMeilleure/Translation/Translator.cs @@ -290,7 +290,7 @@ namespace ARMeilleure.Translation return context.GetControlFlowGraph(); } - private static void EmitSynchronization(EmitterContext context) + internal static void EmitSynchronization(EmitterContext context) { long countOffs = NativeContext.GetCounterOffset(); -- cgit v1.2.3