mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-07-31 02:47:09 +02:00
Improve CPU initial translation speeds (#50)
* Add background translation to the CPU * Do not use a separate thread for translation, implement 2 tiers translation * Remove unnecessary usings * Lower MinCallCountForReJit * Remove unused variable
This commit is contained in:
parent
c897be0101
commit
d295a2df5f
10 changed files with 319 additions and 107 deletions
|
@ -2,6 +2,7 @@ using ChocolArm64.Decoder;
|
|||
using ChocolArm64.State;
|
||||
using ChocolArm64.Translation;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Emit;
|
||||
|
||||
namespace ChocolArm64.Instruction
|
||||
{
|
||||
|
@ -37,6 +38,12 @@ namespace ChocolArm64.Instruction
|
|||
{
|
||||
Context.EmitLoadState(Context.CurrBlock.Next);
|
||||
}
|
||||
else
|
||||
{
|
||||
Context.EmitLdc_I8(Op.Position + 4);
|
||||
|
||||
Context.Emit(OpCodes.Ret);
|
||||
}
|
||||
}
|
||||
|
||||
public static void Und(AILEmitterCtx Context)
|
||||
|
@ -60,6 +67,12 @@ namespace ChocolArm64.Instruction
|
|||
{
|
||||
Context.EmitLoadState(Context.CurrBlock.Next);
|
||||
}
|
||||
else
|
||||
{
|
||||
Context.EmitLdc_I8(Op.Position + 4);
|
||||
|
||||
Context.Emit(OpCodes.Ret);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue