1 implementation of IPlatformAgnosticContext
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Contracts\StackWalk\Context\ContextHolder.cs (1)
9public sealed class ContextHolder<T> : IPlatformAgnosticContext, IEquatable<ContextHolder<T>>
93 references to IPlatformAgnosticContext
Microsoft.Diagnostics.DataContractReader.Contracts (65)
Contracts\Debugger\Debugger_1.cs (4)
276IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 343public static void PlaceArgs(Target target, IPlatformAgnosticContext ctx, ref TargetPointer sp, ReadOnlySpan<TargetNUInt> args) 408private static void SetRegisterChecked(IPlatformAgnosticContext ctx, string register, TargetNUInt value, int pointerSize)
Contracts\StackWalk\Context\ContextHolder.cs (1)
52public IPlatformAgnosticContext Clone() => new ContextHolder<T>() { Context = Context };
Contracts\StackWalk\Context\IPlatformAgnosticContext.cs (2)
27public abstract IPlatformAgnosticContext Clone(); 42public static IPlatformAgnosticContext GetContextForPlatform(Target target)
Contracts\StackWalk\FrameHandling\BaseFrameHandler.cs (5)
13internal abstract class BaseFrameHandler(Target target, IPlatformAgnosticContext context) 17private readonly IPlatformAgnosticContext _context = context; 35IPlatformAgnosticContext otherContextHolder = IPlatformAgnosticContext.GetContextForPlatform(_target); 94protected void UpdateCalleeSavedRegistersFromOtherContext(IPlatformAgnosticContext otherContext)
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (13)
334public void UpdateContextFromFrame(Data.Frame frame, IPlatformAgnosticContext context) 468IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 477IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 577private IPlatformFrameHandler GetFrameHandler(IPlatformAgnosticContext context) 728IPlatformAgnosticContext context, 758public void InterpreterVirtualUnwind(IPlatformAgnosticContext context) 776public TargetPointer InterpreterCallerStackPointer(IPlatformAgnosticContext context) 782private bool VirtualUnwindInterpreterCallFrame(IPlatformAgnosticContext context) 801private void ApplyInterpreterFrameTransition(IPlatformAgnosticContext context, TargetPointer interpreterFrameAddress) 811public TargetPointer GetFirstArgRegister(IPlatformAgnosticContext context) 822private void SetFirstArgRegister(IPlatformAgnosticContext context, TargetPointer value)
Contracts\StackWalk\FrameHandling\FrameIterator.cs (1)
76public void UpdateContextFromCurrentFrame(IPlatformAgnosticContext context)
Contracts\StackWalk\GC\GcScanner.cs (3)
37IPlatformAgnosticContext context, 322private TargetPointer GetCallerSP(IPlatformAgnosticContext context, ref TargetPointer? cached) 326IPlatformAgnosticContext callerContext = context.Clone();
Contracts\StackWalk\StackWalk_1.cs (33)
36IPlatformAgnosticContext Context, 47private class StackWalkData(IPlatformAgnosticContext context, StackWalkState state, FrameIterator frameIter, ThreadData threadData) 49public IPlatformAgnosticContext Context { get; set; } = context; 139IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 148private void SetupContext(IPlatformAgnosticContext context, FrameIterator frameIterator, StackWalkState state, ref bool isFirst, out bool matchedIsInterrupted, out bool matchedHasFaulted) 155IPlatformAgnosticContext tmpContext = context.Clone(); 175IPlatformAgnosticContext tmpContext = context.Clone(); 205internal static bool HasFaultedContext(IPlatformAgnosticContext context) 210IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 219IPlatformAgnosticContext context, 259private void SkipOwningInterpreterFrame(IPlatformAgnosticContext context, StackWalkState state, FrameIterator frameIterator) 278IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 820IPlatformAgnosticContext callerContext = handle.Context.Clone(); 876IPlatformAgnosticContext recoveredContext = RetrieveHijackedContext(handle.Context, hijackKind == HijackKind.UnhandledException); 1032IPlatformAgnosticContext parentContext = handle.Context.Clone(); 1044private IPlatformAgnosticContext RetrieveHijackedContext(IPlatformAgnosticContext ctx, bool isUnhandledException) 1052IPlatformAgnosticContext recovered = IPlatformAgnosticContext.GetContextForPlatform(_target); 1057private TargetPointer ComputeRedirectStubSlot(IPlatformAgnosticContext context) 1145internal TargetPointer CallerStackPointer(IPlatformAgnosticContext context) 1150IPlatformAgnosticContext callerContext = context.Clone(); 1198private TargetPointer ReadGenericContextStorage(IPlatformAgnosticContext context, GenericContextStorage storage) 1225static bool TryReadRegister(IPlatformAgnosticContext context, GenericContextStorage storage, out TargetNUInt value) 1254IPlatformAgnosticContext hijacked = RetrieveHijackedContext(handle.Context, hijackKind == HijackKind.UnhandledException); 1344IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 1369IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 1425private void FillContextFromThread(IPlatformAgnosticContext context, ThreadData threadData, uint flags)
Contracts\StackWalk\StackWalk_1.ExceptionHandling.cs (3)
49IPlatformAgnosticContext callerContext = handle.Context.Clone(); 73IPlatformAgnosticContext callerCallerContext = callerContext.Clone(); 202IPlatformAgnosticContext callerContext = handle.Context.Clone();
Microsoft.Diagnostics.DataContractReader.Legacy (28)
ClrDataFrame.cs (7)
932IPlatformAgnosticContext platformContext = IPlatformAgnosticContext.GetContextForPlatform(target); 948IPlatformAgnosticContext context, 992private static NativeVarLocation[] ResolveRegByRef(IPlatformAgnosticContext context, Target target, uint register, int pointerSize) 1004private static NativeVarLocation[] ResolveStack(IPlatformAgnosticContext context, Target target, uint baseRegister, int offset, int pointerSize, bool deref) 1013private static ulong ComputeStackAddress(IPlatformAgnosticContext context, Target target, uint baseRegister, int offset) 1036private static ulong ReadRegister(IPlatformAgnosticContext context, Target target, uint registerNumber)
ClrDataStackWalk.cs (1)
339uint platformContextSize = IPlatformAgnosticContext.GetContextForPlatform(_target).Size;
Dbi\DacDbiImpl.cs (18)
996IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 1295IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 1761uint contextSize = IPlatformAgnosticContext.GetContextForPlatform(_target).Size; 1814IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 1831uint contextSize = IPlatformAgnosticContext.GetContextForPlatform(_target).Size; 1903uint contextSize = IPlatformAgnosticContext.GetContextForPlatform(_target).Size; 2042IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(_target); 2212IPlatformAgnosticContext stripped = IPlatformAgnosticContext.GetContextForPlatform(_target); 2588IPlatformAgnosticContext leafCtx = IPlatformAgnosticContext.GetContextForPlatform(_target); 2595IPlatformAgnosticContext givenCtx = IPlatformAgnosticContext.GetContextForPlatform(_target); 2625uint allFlags = IPlatformAgnosticContext.GetContextForPlatform(_target).AllContextFlags;
SOSDacImpl.cs (2)
2310IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target);