e21ebbf666
* Add optimizations related to caller/callee saved registers, thread synchronization and disable tier 0 * Refactoring * Add a config entry to enable or disable the reg load/store opt. * Remove unnecessary register state stores for calls when the callee is know * Rename IoType to VarType * Enable tier 0 while fixing some perf issues related to tier 0 * Small tweak -- Compile before adding to the cache, to avoid lags * Add required config entry
21 lines
No EOL
462 B
C#
21 lines
No EOL
462 B
C#
using System.Reflection.Emit;
|
|
|
|
namespace ChocolArm64.Translation
|
|
{
|
|
struct ILOpCodeBranch : IILEmit
|
|
{
|
|
public OpCode ILOp { get; }
|
|
public ILLabel Label { get; }
|
|
|
|
public ILOpCodeBranch(OpCode ilOp, ILLabel label)
|
|
{
|
|
ILOp = ilOp;
|
|
Label = label;
|
|
}
|
|
|
|
public void Emit(ILMethodBuilder context)
|
|
{
|
|
context.Generator.Emit(ILOp, Label.GetLabel(context));
|
|
}
|
|
}
|
|
} |