public static bool IsGPR(this VMRegisters reg) { if (reg >= VMRegisters.R0 && reg <= VMRegisters.R7) { return(true); } return(false); }
public static ILInstructionPattern PushDwordReg(VMRegisters register) { return(new ILInstructionPattern(ILCode.PUSHR_DWORD, register, new ILVariablePattern(register))); }
ILRegister(VMRegisters reg) { Register = reg; regMap.Add(reg, this); }
public static ILRegister LookupRegister(VMRegisters reg) { return(regMap[reg]); }
public byte this[VMRegisters reg] { get { return(regOrder[(int)reg]); } }
public void Deallocate(IRVariable var, VMRegisters reg) { Debug.Assert(regAlloc[FromRegister(reg)] == var); regAlloc[FromRegister(reg)] = null; }
private static int FromRegister(VMRegisters reg) { return((int)reg); }
public static ILInstructionPattern PushDwordReg(VMRegisters register) { return(Instruction(ILCode.PUSHR_DWORD) .WithOperand(register) .WithArguments(new ILVariablePattern(register))); }
public static ILAssignmentPattern Assignment(VMRegisters variable, ILExpressionPattern value) { return(new ILAssignmentPattern(variable, value)); }
public byte this[VMRegisters reg] => regOrder[(int)reg];
public ILVariablePattern(VMRegisters register) { VariableName = register.ToString(); }
public IRRegister(VMRegisters reg, ASTType type) { Register = reg; Type = type; }
public IRRegister(VMRegisters reg) { Register = reg; Type = ASTType.Ptr; }
public SymbolicValue this[VMRegisters register] { get => _registers[(int)register];