4 writes to Context
Microsoft.Diagnostics.DataContractReader.Contracts (4)
Contracts\StackWalk\Context\ContextHolder.cs (4)
35Span<T> structSpan = new(ref Context); 48Span<T> structSpan = MemoryMarshal.CreateSpan(ref Context, 1); 52public IPlatformAgnosticContext Clone() => new ContextHolder<T>() { Context = Context }; 53public void Clear() => Context = default;
66 references to Context
Microsoft.Diagnostics.DataContractReader.Contracts (66)
Contracts\StackWalk\Context\ContextHolder.cs (24)
14public uint Size => Context.Size; 15public uint ContextControlFlags => Context.ContextControlFlags; 16public uint FullContextFlags => Context.FullContextFlags; 17public uint AllContextFlags => Context.AllContextFlags; 19public int StackPointerRegister => Context.StackPointerRegister; 21public TargetPointer StackPointer { get => Context.StackPointer; set => Context.StackPointer = value; } 22public TargetCodePointer InstructionPointer { get => Context.InstructionPointer; set => Context.InstructionPointer = value; } 23public TargetPointer FramePointer { get => Context.FramePointer; set => Context.FramePointer = value; } 25public uint RawContextFlags { get => Context.RawContextFlags; set => Context.RawContextFlags = value; } 52public IPlatformAgnosticContext Clone() => new ContextHolder<T>() { Context = Context }; 54public void Unwind(Target target) => Context.Unwind(target); 55public void UnsetSingleStepFlag() => Context.UnsetSingleStepFlag(); 57public bool TrySetRegister(string fieldName, TargetNUInt value) => Context.TrySetRegister(fieldName, value); 58public bool TryReadRegister(string fieldName, out TargetNUInt value) => Context.TryReadRegister(fieldName, out value); 59public bool TrySetRegister(int number, TargetNUInt value) => Context.TrySetRegister(number, value); 60public bool TryReadRegister(int number, out TargetNUInt value) => Context.TryReadRegister(number, out value); 69return Context.Equals(other.Context); 77public override int GetHashCode() => Context.GetHashCode(); 79public override string ToString() => Context.ToString() ?? string.Empty;
Contracts\StackWalk\FrameHandling\AMD64FrameHandler.cs (3)
23_holder.Context.Rcx = next.Address.Value; 27_holder.Context.Rdi = next.Address.Value; 59_holder.Context.ContextFlags &= ~(uint)(ContextFlagsValues.CONTEXT_XSTATE & ContextFlagsValues.CONTEXT_AREA_MASK);
Contracts\StackWalk\FrameHandling\ARM64FrameHandler.cs (2)
23_holder.Context.X0 = next.Address.Value; 49_holder.Context.ContextFlags &= ~(uint)(ContextFlagsValues.CONTEXT_XSTATE & ContextFlagsValues.CONTEXT_AREA_MASK);
Contracts\StackWalk\FrameHandling\ARMFrameHandler.cs (1)
45_holder.Context.R9 = (uint)spAfterProlog;
Contracts\StackWalk\FrameHandling\LoongArch64FrameHandler.cs (1)
37_holder.Context.ContextFlags &= ~CONTEXT_UNWOUND_TO_CALL;
Contracts\StackWalk\FrameHandling\RISCV64FrameHandler.cs (1)
37_holder.Context.ContextFlags &= ~CONTEXT_UNWOUND_TO_CALL;
Contracts\StackWalk\FrameHandling\WasmFrameHandler.cs (9)
42_holder.Context.StackPointer = inlinedCallFrame.CallSiteSP; 43_holder.Context.InstructionPointer = unwinder.GetVirtualIP(inlinedCallFrame.CallSiteSP); 45_holder.Context.FramePointer = unwinder.TryGetLogicalFramePointer(inlinedCallFrame.CallSiteSP, out TargetPointer framePointer) 62if (!_holder.Context.TrySetRegister(WasmContext.InterpreterWalkFramePointerRegister, new TargetNUInt(next.Address.Value))) 76_holder.Context.InstructionPointer = instructionPointer; 79_holder.Context.StackPointer = stackPointer; 82_holder.Context.FramePointer = unwinder.TryGetLogicalFramePointer(stackPointer, out TargetPointer framePointer) 88_holder.Context.StackPointer = framedMethodFrame.TransitionBlockPtr + Data.TransitionBlock.GetSize(_target); 89_holder.Context.FramePointer = TargetPointer.Null;
Contracts\StackWalk\FrameHandling\X86FrameHandler.cs (25)
22_context.Context.Esp = (uint)frame.HijackArgsPtr + hijackArgsSize; 57_context.Context.Eip -= CallInstructionSize; 71_context.Context.Esp += cookie.SizeOfArgs; 82_context.Context.Esp += decoder.ReadStackPop() * (uint)_target.PointerSize; 112_context.Context.Eip = (uint)frame.ReturnAddress; 116_context.Context.Esp = (uint)(frame.Address + tailCallFrameSize); 128_context.Context.ContextFlags &= ~(uint)(ContextFlagsValues.CONTEXT_XSTATE & ContextFlagsValues.CONTEXT_AREA_MASK); 145_context.Context.Edi = evalContext.Context.Edi; 146_context.Context.Esi = evalContext.Context.Esi; 147_context.Context.Ebx = evalContext.Context.Ebx; 148_context.Context.Edx = evalContext.Context.Edx; 149_context.Context.Ecx = evalContext.Context.Ecx; 150_context.Context.Eax = evalContext.Context.Eax; 151_context.Context.Ebp = evalContext.Context.Ebp; 152_context.Context.Eip = evalContext.Context.Eip; 153_context.Context.Esp = evalContext.Context.Esp;