Rename ILEmitter to ILMethodBuilder
This commit is contained in:
parent
de406efb75
commit
3b21dced97
15 changed files with 26 additions and 26 deletions
|
@ -2,6 +2,6 @@ namespace ChocolArm64.Translation
|
|||
{
|
||||
interface IILEmit
|
||||
{
|
||||
void Emit(ILEmitter context);
|
||||
void Emit(ILMethodBuilder context);
|
||||
}
|
||||
}
|
|
@ -2,6 +2,6 @@ namespace ChocolArm64.Translation
|
|||
{
|
||||
struct ILBarrier : IILEmit
|
||||
{
|
||||
public void Emit(ILEmitter context) { }
|
||||
public void Emit(ILMethodBuilder context) { }
|
||||
}
|
||||
}
|
|
@ -37,7 +37,7 @@ namespace ChocolArm64.Translation
|
|||
IntAwOutputs = IntOutputs;
|
||||
VecAwOutputs = VecOutputs;
|
||||
}
|
||||
else if (emitter is ILOpCodeLoad ld && ILEmitter.IsRegIndex(ld.Index))
|
||||
else if (emitter is ILOpCodeLoad ld && ILMethodBuilder.IsRegIndex(ld.Index))
|
||||
{
|
||||
switch (ld.IoType)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ namespace ChocolArm64.Translation
|
|||
case IoType.Vector: VecInputs |= (1L << ld.Index) & ~VecAwOutputs; break;
|
||||
}
|
||||
}
|
||||
else if (emitter is ILOpCodeStore st && ILEmitter.IsRegIndex(st.Index))
|
||||
else if (emitter is ILOpCodeStore st && ILMethodBuilder.IsRegIndex(st.Index))
|
||||
{
|
||||
switch (st.IoType)
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ namespace ChocolArm64.Translation
|
|||
_emitters.Add(emitter);
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
foreach (IILEmit ilEmitter in _emitters)
|
||||
{
|
||||
|
|
|
@ -8,12 +8,12 @@ namespace ChocolArm64.Translation
|
|||
|
||||
private Label _lbl;
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
context.Generator.MarkLabel(GetLabel(context));
|
||||
}
|
||||
|
||||
public Label GetLabel(ILEmitter context)
|
||||
public Label GetLabel(ILMethodBuilder context)
|
||||
{
|
||||
if (!_hasLabel)
|
||||
{
|
||||
|
|
|
@ -6,7 +6,7 @@ using System.Runtime.Intrinsics;
|
|||
|
||||
namespace ChocolArm64.Translation
|
||||
{
|
||||
class ILEmitter
|
||||
class ILMethodBuilder
|
||||
{
|
||||
public LocalAlloc LocalAlloc { get; private set; }
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace ChocolArm64.Translation
|
|||
|
||||
private int _localsCount;
|
||||
|
||||
public ILEmitter(ILBlock[] ilBlocks, string subName)
|
||||
public ILMethodBuilder(ILBlock[] ilBlocks, string subName)
|
||||
{
|
||||
_ilBlocks = ilBlocks;
|
||||
_subName = subName;
|
|
@ -11,7 +11,7 @@ namespace ChocolArm64.Translation
|
|||
_ilOp = ilOp;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
context.Generator.Emit(_ilOp);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace ChocolArm64.Translation
|
|||
_label = label;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
context.Generator.Emit(_ilOp, _label.GetLabel(context));
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace ChocolArm64.Translation
|
|||
_mthdInfo = mthdInfo;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
context.Generator.Emit(OpCodes.Call, _mthdInfo);
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace ChocolArm64.Translation
|
|||
_value = new ImmVal { R8 = value };
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
switch (_type)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace ChocolArm64.Translation
|
|||
RegisterSize = registerSize;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
switch (IoType)
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ namespace ChocolArm64.Translation
|
|||
}
|
||||
}
|
||||
|
||||
private void EmitLdloc(ILEmitter context, int index, RegisterType registerType)
|
||||
private void EmitLdloc(ILMethodBuilder context, int index, RegisterType registerType)
|
||||
{
|
||||
Register reg = new Register(index, registerType);
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace ChocolArm64.Translation
|
|||
_block = block;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
long intInputs = context.LocalAlloc.GetIntInputs(_block);
|
||||
long vecInputs = context.LocalAlloc.GetVecInputs(_block);
|
||||
|
@ -21,7 +21,7 @@ namespace ChocolArm64.Translation
|
|||
LoadLocals(context, vecInputs, RegisterType.Vector);
|
||||
}
|
||||
|
||||
private void LoadLocals(ILEmitter context, long inputs, RegisterType baseType)
|
||||
private void LoadLocals(ILMethodBuilder context, long inputs, RegisterType baseType)
|
||||
{
|
||||
for (int bit = 0; bit < 64; bit++)
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ namespace ChocolArm64.Translation
|
|||
|
||||
if ((inputs & mask) != 0)
|
||||
{
|
||||
Register reg = ILEmitter.GetRegFromBit(bit, baseType);
|
||||
Register reg = ILMethodBuilder.GetRegFromBit(bit, baseType);
|
||||
|
||||
context.Generator.EmitLdarg(TranslatedSub.StateArgIdx);
|
||||
context.Generator.Emit(OpCodes.Ldfld, reg.GetField());
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace ChocolArm64.Translation
|
|||
_text = text;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
context.Generator.EmitWriteLine(_text);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace ChocolArm64.Translation
|
|||
RegisterSize = registerSize;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
switch (IoType)
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ namespace ChocolArm64.Translation
|
|||
}
|
||||
}
|
||||
|
||||
private void EmitStloc(ILEmitter context, int index, RegisterType registerType)
|
||||
private void EmitStloc(ILMethodBuilder context, int index, RegisterType registerType)
|
||||
{
|
||||
Register reg = new Register(index, registerType);
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace ChocolArm64.Translation
|
|||
_block = block;
|
||||
}
|
||||
|
||||
public void Emit(ILEmitter context)
|
||||
public void Emit(ILMethodBuilder context)
|
||||
{
|
||||
long intOutputs = context.LocalAlloc.GetIntOutputs(_block);
|
||||
long vecOutputs = context.LocalAlloc.GetVecOutputs(_block);
|
||||
|
@ -21,7 +21,7 @@ namespace ChocolArm64.Translation
|
|||
StoreLocals(context, vecOutputs, RegisterType.Vector);
|
||||
}
|
||||
|
||||
private void StoreLocals(ILEmitter context, long outputs, RegisterType baseType)
|
||||
private void StoreLocals(ILMethodBuilder context, long outputs, RegisterType baseType)
|
||||
{
|
||||
for (int bit = 0; bit < 64; bit++)
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ namespace ChocolArm64.Translation
|
|||
|
||||
if ((outputs & mask) != 0)
|
||||
{
|
||||
Register reg = ILEmitter.GetRegFromBit(bit, baseType);
|
||||
Register reg = ILMethodBuilder.GetRegFromBit(bit, baseType);
|
||||
|
||||
context.Generator.EmitLdarg(TranslatedSub.StateArgIdx);
|
||||
context.Generator.EmitLdloc(context.GetLocalIndex(reg));
|
||||
|
|
|
@ -93,7 +93,7 @@ namespace ChocolArm64
|
|||
|
||||
string subName = GetSubroutineName(position);
|
||||
|
||||
ILEmitter ilMthdBuilder = new ILEmitter(context.GetILBlocks(), subName);
|
||||
ILMethodBuilder ilMthdBuilder = new ILMethodBuilder(context.GetILBlocks(), subName);
|
||||
|
||||
TranslatedSub subroutine = ilMthdBuilder.GetSubroutine();
|
||||
|
||||
|
@ -138,7 +138,7 @@ namespace ChocolArm64
|
|||
|
||||
ILBlock[] ilBlocks = context.GetILBlocks();
|
||||
|
||||
ILEmitter ilMthdBuilder = new ILEmitter(ilBlocks, subName);
|
||||
ILMethodBuilder ilMthdBuilder = new ILMethodBuilder(ilBlocks, subName);
|
||||
|
||||
TranslatedSub subroutine = ilMthdBuilder.GetSubroutine();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue