コード例 #1
0
 public static bool IsGPR(this VMRegisters reg)
 {
     if (reg >= VMRegisters.R0 && reg <= VMRegisters.R7)
     {
         return(true);
     }
     return(false);
 }
コード例 #2
0
 public static ILInstructionPattern PushDwordReg(VMRegisters register)
 {
     return(new ILInstructionPattern(ILCode.PUSHR_DWORD, register, new ILVariablePattern(register)));
 }
コード例 #3
0
 ILRegister(VMRegisters reg)
 {
     Register = reg;
     regMap.Add(reg, this);
 }
コード例 #4
0
 public static ILRegister LookupRegister(VMRegisters reg)
 {
     return(regMap[reg]);
 }
コード例 #5
0
 public byte this[VMRegisters reg] {
     get { return(regOrder[(int)reg]); }
 }
コード例 #6
0
 public void Deallocate(IRVariable var, VMRegisters reg)
 {
     Debug.Assert(regAlloc[FromRegister(reg)] == var);
     regAlloc[FromRegister(reg)] = null;
 }
コード例 #7
0
 private static int FromRegister(VMRegisters reg)
 {
     return((int)reg);
 }
コード例 #8
0
ファイル: ILAstPattern.cs プロジェクト: Washi1337/OldRod
 public static ILInstructionPattern PushDwordReg(VMRegisters register)
 {
     return(Instruction(ILCode.PUSHR_DWORD)
            .WithOperand(register)
            .WithArguments(new ILVariablePattern(register)));
 }
コード例 #9
0
ファイル: ILAstPattern.cs プロジェクト: Washi1337/OldRod
 public static ILAssignmentPattern Assignment(VMRegisters variable, ILExpressionPattern value)
 {
     return(new ILAssignmentPattern(variable, value));
 }
コード例 #10
0
ファイル: RegisterDescriptor.cs プロジェクト: hmyit/KoiVM
 public byte this[VMRegisters reg] => regOrder[(int)reg];
コード例 #11
0
ファイル: ILVariablePattern.cs プロジェクト: th3ptuga/OldRod
 public ILVariablePattern(VMRegisters register)
 {
     VariableName = register.ToString();
 }
コード例 #12
0
ファイル: IRRegister.cs プロジェクト: hmyit/KoiVM
 public IRRegister(VMRegisters reg, ASTType type)
 {
     Register = reg;
     Type     = type;
 }
コード例 #13
0
ファイル: IRRegister.cs プロジェクト: hmyit/KoiVM
 public IRRegister(VMRegisters reg)
 {
     Register = reg;
     Type     = ASTType.Ptr;
 }
コード例 #14
0
 public SymbolicValue this[VMRegisters register]
 {
     get => _registers[(int)register];