| File: Contracts\GCInfo\IGCInfoDecoder.cs | Web Access |
| Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Contracts\Microsoft.Diagnostics.DataContractReader.Contracts.csproj (Microsoft.Diagnostics.DataContractReader.Contracts) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Collections.Generic; using Microsoft.Diagnostics.DataContractReader.Contracts; namespace Microsoft.Diagnostics.DataContractReader.Contracts.GCInfoHelpers; internal interface IGCInfoDecoder : IGCInfoHandle { uint GetCodeLength(); uint GetStackBaseRegister(); uint GetSizeOfStackParameterArea(); // Default 0; mirrors native EECodeManager::GetStackParameterSize, which only // returns non-zero on x86 (where managed code uses __stdcall, callee-popped args). uint GetCalleePoppedArgumentsSize() => 0; IReadOnlyList<InterruptibleRange> GetInterruptibleRanges(); IReadOnlyList<LiveSlot> EnumerateLiveSlots(uint instructionOffset, GcSlotEnumerationOptions options); bool IsGcSafe(uint instructionOffset); }