public VirtualRegister(Type type, StateSpaces stsp = StateSpaces.REG) { if (type == null) { throw new ArgumentNullException("type"); } if (!type.IsValueType) { throw new ArgumentException("Only value types are permitted", "type"); } UnderlyingType = type; StateSpace = stsp; }
public InstructionSelector.DynamicRegister Allocate(Type type, StateSpaces stsp) { InstructionSelector.DynamicRegister vreg = pool.Where( rcr => !rcr.Live && rcr.StateSpace == stsp && (rcr.StateSpace == StateSpaces.REG && rcr.DataType == type || rcr.StateSpace != StateSpaces.REG && rcr.UnderlyingType == type)).FirstOrDefault(); if (vreg == null) { vreg = new InstructionSelector.DynamicRegister(type, stsp); pool.Add(vreg); } else { vreg.Live = true; } return(vreg); }
public FormalParameter(Type type, StateSpaces stsp = StateSpaces.REG, PassingStyles style = PassingStyles.VAL) : base(type, stsp) { PassingStyle = style; }
public static InstructionSelector.DynamicRegister Waste(Type type, StateSpaces stsp) { return(new InstructionSelector.DynamicRegister(type, stsp)); }
public VirtualRegister(Type type, StateSpaces stsp = StateSpaces.REG) { if (type == null) throw new ArgumentNullException("type"); if (!type.IsValueType) throw new ArgumentException("Only value types are permitted", "type"); UnderlyingType = type; StateSpace = stsp; }
private DynamicRegister AllocateRegister(Type type, StateSpaces stsp = StateSpaces.REG) { return regalloc(type, stsp); }
public DynamicRegister(Type type, StateSpaces stsp = StateSpaces.REG) : base(type, stsp) { Live = true; }
private DynamicRegister AllocateRegister(Type type, StateSpaces stsp = StateSpaces.REG) { return(regalloc(type, stsp)); }