public void _branch_likely(Action Action) { var NullifyDelayedLabel = MipsMethodEmiter.ILGenerator.DefineLabel(); MipsMethodEmiter.LoadBranchFlag(); MipsMethodEmiter.ILGenerator.Emit(OpCodes.Brfalse, NullifyDelayedLabel); { Action(); } MipsMethodEmiter.ILGenerator.MarkLabel(NullifyDelayedLabel); }
// Code executed after the delayed slot. public void _branch_post(Label Label) { MipsMethodEmiter.LoadBranchFlag(); MipsMethodEmiter.ILGenerator.Emit(OpCodes.Brtrue, Label); }