public override void Compile(CallStatement call, ICompilerBackend backend) { switch (_type) { case EBarrierType.Global: backend.InstallBarrier(); break; case EBarrierType.PortIO: backend.InstallBarrier(InstructionCodes.WrPort, InstructionCodes.RdPort); break; default: throw new NotImplementedException(); } }
public override void Compile(CallStatement call, ICompilerBackend backend) { }
/// <summary> /// Compiles the method call /// </summary> /// <param name="call">method call statement</param> /// <param name="backend">compiler interface to emit XIL instructions</param> public abstract void Compile(CallStatement call, ICompilerBackend backend);