90 references to RegMask
Microsoft.Diagnostics.DataContractReader.Contracts (90)
Contracts\GCInfo\X86\GCArgTable.cs (17)
68private static RegMask ThreeBitEncodingToRegMask(byte val) => 710x0 => RegMask.EAX, 720x1 => RegMask.ECX, 730x2 => RegMask.EDX, 740x3 => RegMask.EBX, 750x4 => RegMask.ESP, 760x5 => RegMask.EBP, 770x6 => RegMask.ESI, 780x7 => RegMask.EDI, 82private static RegMask TwoBitEncodingToRegMask(byte val) => 850x0 => RegMask.EDI, 860x1 => RegMask.ESI, 870x2 => RegMask.EBX, 880x3 => RegMask.EBP, 391AddNewTransition(new GcTransitionRegister((int)curOffs, RegMask.ESP, Action.PUSH)); 397AddNewTransition(new GcTransitionRegister((int)curOffs, RegMask.ESP, Action.PUSH, false, false, (int)pushCount)); 422AddNewTransition(new GcTransitionRegister((int)curOffs, RegMask.ESP, Action.POP, false, false, (int)popSize));
Contracts\GCInfo\X86\GCInfo.cs (30)
58public RegMask SavedRegsMask { get; set; } = RegMask.NONE; 142RegMask savedRegs = RegMask.NONE; 147savedRegs |= RegMask.EDI; 152savedRegs |= RegMask.ESI; 157savedRegs |= RegMask.EBX; 162savedRegs |= RegMask.EBP; 437/// Converts a single-bit <see cref="RegMask"/> value to the platform-agnostic 441private static uint RegMaskToRegisterNumber(RegMask reg) 652RegMask liveRegs = RegMask.NONE; 653RegMask liveIptrRegs = RegMask.NONE; 732const RegMask CalleeTrashedScratch = RegMask.EAX | RegMask.ECX | RegMask.EDX; 733foreach (RegMask r in EnumerateSingleRegs()) 792ref RegMask liveRegs, 793ref RegMask liveIptrRegs, 813bool isPtrPush = (regT.Register & ~RegMask.ESP) != 0; 864private static IEnumerable<RegMask> EnumerateSingleRegs() 866yield return RegMask.EAX; 867yield return RegMask.ECX; 868yield return RegMask.EDX; 869yield return RegMask.EBX; 870yield return RegMask.EBP; 871yield return RegMask.ESI; 872yield return RegMask.EDI;
Contracts\GCInfo\X86\GCTransition.cs (14)
33public RegMask Register { get; set; } 37public CalleeSavedRegister(int codeOffset, RegMask reg) 69public RegMask Register { get; set; } 77public GcTransitionRegister(int codeOffset, RegMask reg, Action isLive, bool isThis = false, bool iptr = false, int pushCountOrPopSize = 1) 190public RegMask Register { get; set; } 193public CallRegister(RegMask reg, bool isByRef) 233RegMask reg = RegMask.EDI; 239RegMask reg = RegMask.ESI; 245RegMask reg = RegMask.EBX; 253RegMask reg = RegMask.EBP;
Contracts\StackWalk\Context\X86\X86Unwinder.cs (29)
40private static readonly RegMask[] registerOrder = 42RegMask.EBP, // last register to be pushed 43RegMask.EBX, 44RegMask.ESI, 45RegMask.EDI, // first register to be pushed 200foreach (RegMask regMask in registerOrder) 202if (regMask == RegMask.EBP) 280foreach (RegMask regMask in registerOrder) 289if (_updateAllRegs || regMask == RegMask.EBP) 333foreach (RegMask regMask in registerOrder) 368RegMask regsMask = RegMask.NONE; 372foreach (RegMask regMask in registerOrder) 401if (regsMask.HasFlag(RegMask.EBP)) 409if (regsMask.HasFlag(RegMask.EBX)) 414if (regsMask.HasFlag(RegMask.ESI)) 419if (regsMask.HasFlag(RegMask.EDI)) 491foreach (RegMask regMask in registerOrder.Reverse()) 493if (regMask == RegMask.EBP) continue; 574foreach (RegMask regMask in registerOrder.Reverse()) 576if (regMask == RegMask.EBP) continue; 863private static void SetRegValue(ref X86Context context, RegMask regMask, TargetPointer value) 868case RegMask.EAX: 871case RegMask.EBX: 874case RegMask.ECX: 877case RegMask.EDX: 880case RegMask.EBP: 883case RegMask.ESI: 886case RegMask.EDI: