72 references to RegMask
Microsoft.Diagnostics.DataContractReader.Contracts (72)
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCArgTable.cs (21)
68
private static
RegMask
ThreeBitEncodingToRegMask(byte val) =>
71
0x0 =>
RegMask
.EAX,
72
0x1 =>
RegMask
.ECX,
73
0x2 =>
RegMask
.EDX,
74
0x3 =>
RegMask
.EBX,
75
0x4 =>
RegMask
.ESP,
76
0x5 =>
RegMask
.EBP,
77
0x6 =>
RegMask
.ESI,
78
0x7 =>
RegMask
.EDI,
82
private static
RegMask
TwoBitEncodingToRegMask(byte val) =>
85
0x0 =>
RegMask
.EDI,
86
0x1 =>
RegMask
.ESI,
87
0x2 =>
RegMask
.EBX,
88
0x3 =>
RegMask
.EBP,
234
RegMask
reg;
236
reg =
RegMask
.EDI;
238
reg =
RegMask
.ESI;
240
reg =
RegMask
.EBX;
400
AddNewTransition(new GcTransitionRegister((int)curOffs,
RegMask
.ESP, Action.PUSH));
406
AddNewTransition(new GcTransitionRegister((int)curOffs,
RegMask
.ESP, Action.PUSH, false, false, (int)pushCount));
432
AddNewTransition(new GcTransitionRegister((int)curOffs,
RegMask
.ESP, Action.POP, false, false, (int)popSize));
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCInfo.cs (8)
58
public
RegMask
SavedRegsMask { get; set; } =
RegMask
.NONE;
117
RegMask
savedRegs =
RegMask
.NONE;
122
savedRegs |=
RegMask
.EDI;
127
savedRegs |=
RegMask
.ESI;
132
savedRegs |=
RegMask
.EBX;
137
savedRegs |=
RegMask
.EBP;
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCTransition.cs (14)
33
public
RegMask
Register { get; set; }
37
public CalleeSavedRegister(int codeOffset,
RegMask
reg)
69
public
RegMask
Register { get; set; }
77
public GcTransitionRegister(int codeOffset,
RegMask
reg, Action isLive, bool isThis = false, bool iptr = false, int pushCountOrPopSize = 1)
186
public
RegMask
Register { get; set; }
189
public CallRegister(
RegMask
reg, bool isByRef)
229
RegMask
reg =
RegMask
.EDI;
235
RegMask
reg =
RegMask
.ESI;
241
RegMask
reg =
RegMask
.EBX;
249
RegMask
reg =
RegMask
.EBP;
Contracts\StackWalk\Context\X86\X86Unwinder.cs (29)
39
private static readonly
RegMask
[] registerOrder =
41
RegMask
.EBP, // last register to be pushed
42
RegMask
.EBX,
43
RegMask
.ESI,
44
RegMask
.EDI, // first register to be pushed
199
foreach (
RegMask
regMask in registerOrder)
201
if (regMask ==
RegMask
.EBP)
279
foreach (
RegMask
regMask in registerOrder)
288
if (_updateAllRegs || regMask ==
RegMask
.EBP)
332
foreach (
RegMask
regMask in registerOrder)
367
RegMask
regsMask =
RegMask
.NONE;
371
foreach (
RegMask
regMask in registerOrder)
400
if (regsMask.HasFlag(
RegMask
.EBP))
408
if (regsMask.HasFlag(
RegMask
.EBX))
413
if (regsMask.HasFlag(
RegMask
.ESI))
418
if (regsMask.HasFlag(
RegMask
.EDI))
490
foreach (
RegMask
regMask in registerOrder.Reverse())
492
if (regMask ==
RegMask
.EBP) continue;
573
foreach (
RegMask
regMask in registerOrder.Reverse())
575
if (regMask ==
RegMask
.EBP) continue;
862
private static void SetRegValue(ref X86Context context,
RegMask
regMask, TargetPointer value)
867
case
RegMask
.EAX:
870
case
RegMask
.EBX:
873
case
RegMask
.ECX:
876
case
RegMask
.EDX:
879
case
RegMask
.EBP:
882
case
RegMask
.ESI:
885
case
RegMask
.EDI: