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