1 write to Header
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCInfo.cs (1)
93
Header
= InfoHdr.DecodeHeader(target, ref offset, MethodSize);
38 references to Header
Microsoft.Diagnostics.DataContractReader.Contracts (38)
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCInfo.cs (17)
97
if (relativeOffset <
Header
.PrologSize)
103
foreach (uint epilogStart in
Header
.Epilogs)
105
if (relativeOffset > epilogStart && relativeOffset < epilogStart +
Header
.EpilogSize)
112
uint frameDwordCount =
Header
.FrameSize;
119
if (
Header
.EdiSaved)
124
if (
Header
.EsiSaved)
129
if (
Header
.EbxSaved)
134
if (
Header
.EbpSaved)
142
if (
Header
.EbpFrame ||
Header
.DoubleAlign)
144
Debug.Assert(
Header
.EbpSaved);
159
if (
Header
.HasArgTabOffset)
162
argTabPtr = _gcInfoAddress + _infoHdrSize +
Header
.ArgTabOffset;
172
for (int i = 0; i <
Header
.NoGCRegionCount; i++)
180
for (int i = 0; i <
Header
.UntrackedCount; i++)
187
for (int i = 0; i <
Header
.VarPtrTableSize; i++)
195
GCArgTable argTable = new(_target,
Header
, argTabPtr);
Contracts\StackWalk\Context\X86\X86Unwinder.cs (21)
73
else if (!gcInfo.
Header
.EbpFrame && !gcInfo.
Header
.DoubleAlign)
104
if (gcInfo.
Header
.EbpFrame || gcInfo.
Header
.DoubleAlign)
128
if (gcInfo.
Header
.DoubleAlign)
146
if (gcInfo.
Header
.LocalAlloc)
247
Debug.Assert(!gcInfo.
Header
.EbpFrame && !gcInfo.
Header
.DoubleAlign);
312
Debug.Assert(!gcInfo.
Header
.EbpFrame && !gcInfo.
Header
.DoubleAlign);
353
Debug.Assert(!gcInfo.
Header
.EbpFrame && !gcInfo.
Header
.DoubleAlign);
434
Debug.Assert(gcInfo.
Header
.EbpFrame || gcInfo.
Header
.DoubleAlign);
440
if (gcInfo.
Header
.Handlers && !gcInfo.IsInProlog)
487
if (gcInfo.
Header
.DoubleAlign && (curEbp & 0x04) != 0)
516
Debug.Assert(gcInfo.
Header
.EbpFrame || gcInfo.
Header
.DoubleAlign);
563
if (gcInfo.
Header
.DoubleAlign)
616
uint stackParameterSize = gcInfo.
Header
.VarArgs ? 0 // varargs are caller-popped
617
: gcInfo.
Header
.ArgCount * _pointerSize;