1 write to Header
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Contracts\GCInfo\X86\GCInfo.cs (1)
93Header = InfoHdr.DecodeHeader(target, ref offset, MethodSize, (int)gcInfoVersion);
42 references to Header
Microsoft.Diagnostics.DataContractReader.Contracts (42)
Contracts\GCInfo\X86\GCInfo.cs (21)
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); 254return (Header.EbpFrame || Header.DoubleAlign) ? REG_EBP : REG_ESP; 268return Header.VarArgs ? 0u : Header.ArgCount * (uint)_target.PointerSize;
Contracts\StackWalk\Context\X86\X86Unwinder.cs (21)
74else if (!gcInfo.Header.EbpFrame && !gcInfo.Header.DoubleAlign) 105if (gcInfo.Header.EbpFrame || gcInfo.Header.DoubleAlign) 129if (gcInfo.Header.DoubleAlign) 147if (gcInfo.Header.LocalAlloc) 248Debug.Assert(!gcInfo.Header.EbpFrame && !gcInfo.Header.DoubleAlign); 313Debug.Assert(!gcInfo.Header.EbpFrame && !gcInfo.Header.DoubleAlign); 354Debug.Assert(!gcInfo.Header.EbpFrame && !gcInfo.Header.DoubleAlign); 435Debug.Assert(gcInfo.Header.EbpFrame || gcInfo.Header.DoubleAlign); 441if (gcInfo.Header.Handlers && !gcInfo.IsInProlog) 488if (gcInfo.Header.DoubleAlign && (curEbp & 0x04) != 0) 517Debug.Assert(gcInfo.Header.EbpFrame || gcInfo.Header.DoubleAlign); 564if (gcInfo.Header.DoubleAlign) 617uint stackParameterSize = gcInfo.Header.VarArgs ? 0 // varargs are caller-popped 618: gcInfo.Header.ArgCount * _pointerSize;