1 write to _target
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (1)
66
_target
= target;
95 references to _target
Microsoft.Diagnostics.DataContractReader.Contracts (95)
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (95)
83
if (
_target
.TryReadGlobalPointer(frameType.ToString() + "Identifier", out TargetPointer? id))
103
TargetPointer zapModule =
_target
.Contracts.ExecutionManager.FindReadyToRunModule(indirection);
107
Data.Module module =
_target
.ProcessedData.GetOrAdd<Data.Module>(zapModule);
111
Data.ReadyToRunInfo r2rInfo =
_target
.ProcessedData.GetOrAdd<Data.ReadyToRunInfo>(module.ReadyToRunInfo);
136
uint sectionVA =
_target
.Read<uint>(sectionAddr + SectionVAOffset);
137
uint sectionSize =
_target
.Read<uint>(sectionAddr + SectionSizeOffset);
141
byte entrySize =
_target
.Read<byte>(sectionAddr + EntrySizeOffset);
146
if ((
_target
.Read<ushort>(sectionAddr + FlagsOffset) & GCRefMapFlag) != 0)
148
uint signaturesRva =
_target
.Read<uint>(sectionAddr + SignaturesOffset);
150
uint mapRva =
_target
.Read<uint>(signatureEntry);
154
uint auxDataRva =
_target
.Read<uint>(sectionAddr + AuxiliaryDataOffset);
164
uint lookupOffset =
_target
.Read<uint>(new TargetPointer(gcRefMapBase.Value + lookupIndex * 4));
169
while ((
_target
.Read<byte>(p) & 0x80) != 0)
187
Data.MethodDesc methodDesc =
_target
.ProcessedData.GetOrAdd<Data.MethodDesc>(methodDescPtr);
189
?
_target
.ProcessedData.GetOrAdd<Data.MethodDescCodeData>(methodDesc.CodeData).GCRefMap ?? TargetPointer.Null
195
FrameType kind = GetFrameType(
_target
.ProcessedData.GetOrAdd<Data.Frame>(frameAddress).Identifier);
201
if (!
_target
.TryGetTypeInfo(nameof(DataType.MethodDesc), out _))
204
bool supportsVirtualMaps = !
_target
.Contracts.TryGetContract<IStackWalk>(out IStackWalk? stackWalk) ||
208
Data.FramedMethodFrame frame =
_target
.ProcessedData.GetOrAdd<Data.FramedMethodFrame>(frameAddress);
213
TargetPointer noMap = new(
_target
.PointerSize == 8 ? ulong.MaxValue : uint.MaxValue);
217
if (!supportsVirtualMaps || !
_target
.TryGetTypeInfo(nameof(DataType.MethodTable), out _))
220
IRuntimeTypeSystem rts =
_target
.Contracts.RuntimeTypeSystem;
222
MethodGCRefMapLookup lookup = new(
_target
, this);
232
Data.MethodDesc data =
_target
.ProcessedData.GetOrAdd<Data.MethodDesc>(method);
237
Data.TransitionBlock tb =
_target
.ProcessedData.GetOrAdd<Data.TransitionBlock>(frame.TransitionBlockPtr);
239
if (
_target
.Contracts.RuntimeInfo.GetTargetArchitecture() is RuntimeInfoArchitecture.X86)
240
thisSlot += (uint)
_target
.PointerSize;
241
TargetPointer thisObject =
_target
.ReadPointer(thisSlot);
244
TargetPointer receiver =
_target
.Contracts.Object.GetMethodTableAddress(thisObject);
250
IRuntimeTypeSystem rts =
_target
.Contracts.RuntimeTypeSystem;
251
Data.MethodDesc data =
_target
.ProcessedData.GetOrAdd<Data.MethodDesc>(method.Address);
260
ModuleHandle module =
_target
.Contracts.Loader.GetModuleHandleFromModulePtr(rts.GetModule(rts.GetTypeHandle(owner)));
261
MetadataReader? metadata =
_target
.Contracts.EcmaMetadata.GetMetadata(module);
272
FrameType kind = GetFrameType(
_target
.ProcessedData.GetOrAdd<Data.Frame>(frameAddress).Identifier);
277
IRuntimeTypeSystem rts =
_target
.Contracts.RuntimeTypeSystem;
284
Data.Frame frame =
_target
.ProcessedData.GetOrAdd<Data.Frame>(framePtr);
293
Data.FramedMethodFrame framedMethodFrame =
_target
.ProcessedData.GetOrAdd<Data.FramedMethodFrame>(frame.Address);
303
Data.StubDispatchFrame stubDispatchFrame =
_target
.ProcessedData.GetOrAdd<Data.StubDispatchFrame>(frame.Address);
310
IRuntimeTypeSystem rtsContract =
_target
.Contracts.RuntimeTypeSystem;
319
Data.InlinedCallFrame inlinedCallFrame =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
339
Data.InlinedCallFrame inlinedCallFrame =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
344
Data.SoftwareExceptionFrame softwareExceptionFrame =
_target
.ProcessedData.GetOrAdd<Data.SoftwareExceptionFrame>(frame.Address);
357
Data.FramedMethodFrame framedMethodFrame =
_target
.ProcessedData.GetOrAdd<Data.FramedMethodFrame>(frame.Address);
367
Data.InterpreterFrame interpreterFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpreterFrame>(frame.Address);
373
Data.FuncEvalFrame funcEvalFrame =
_target
.ProcessedData.GetOrAdd<Data.FuncEvalFrame>(frame.Address);
380
Data.ResumableFrame resumableFrame =
_target
.ProcessedData.GetOrAdd<Data.ResumableFrame>(frame.Address);
385
Data.FaultingExceptionFrame faultingExceptionFrame =
_target
.ProcessedData.GetOrAdd<Data.FaultingExceptionFrame>(frame.Address);
390
Data.HijackFrame hijackFrame =
_target
.ProcessedData.GetOrAdd<Data.HijackFrame>(frame.Address);
394
Data.TailCallFrame tailCallFrame =
_target
.ProcessedData.GetOrAdd<Data.TailCallFrame>(frame.Address);
416
Wasm.WasmUnwinder unwinder = new(
_target
, new Wasm.WasmR2RInfo(
_target
));
435
Data.InlinedCallFrame icf =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
446
Data.FramedMethodFrame fmf =
_target
.ProcessedData.GetOrAdd<Data.FramedMethodFrame>(frame.Address);
447
Data.TransitionBlock tb =
_target
.ProcessedData.GetOrAdd<Data.TransitionBlock>(fmf.TransitionBlockPtr);
449
_target
.Contracts.RuntimeInfo.GetTargetArchitecture() == RuntimeInfoArchitecture.X86 &&
452
Data.StubDispatchFrame dispatchFrame =
_target
.ProcessedData.GetOrAdd<Data.StubDispatchFrame>(frame.Address);
460
Data.SoftwareExceptionFrame sef =
_target
.ProcessedData.GetOrAdd<Data.SoftwareExceptionFrame>(frame.Address);
467
Data.ResumableFrame rf =
_target
.ProcessedData.GetOrAdd<Data.ResumableFrame>(frame.Address);
468
IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(
_target
);
469
ctx.ReadFromAddress(
_target
, rf.TargetContextPtr);
476
Data.FaultingExceptionFrame fef =
_target
.ProcessedData.GetOrAdd<Data.FaultingExceptionFrame>(frame.Address);
477
IPlatformAgnosticContext ctx = IPlatformAgnosticContext.GetContextForPlatform(
_target
);
478
ctx.ReadFromAddress(
_target
, fef.TargetContext);
484
Data.HijackFrame hf =
_target
.ProcessedData.GetOrAdd<Data.HijackFrame>(frame.Address);
489
Data.TailCallFrame tcf =
_target
.ProcessedData.GetOrAdd<Data.TailCallFrame>(frame.Address);
494
Data.FuncEvalFrame funcEval =
_target
.ProcessedData.GetOrAdd<Data.FuncEvalFrame>(frame.Address);
495
Data.DebuggerEval dbgEval =
_target
.ProcessedData.GetOrAdd<Data.DebuggerEval>(funcEval.DebuggerEvalPtr);
512
Data.Frame frame =
_target
.ProcessedData.GetOrAdd<Data.Frame>(framePtr);
548
Data.InlinedCallFrame icf =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
565
Data.Frame frame =
_target
.ProcessedData.GetOrAdd<Data.Frame>(framePtr);
570
Data.InlinedCallFrame icf =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
580
return new X86FrameHandler(
_target
, x86Context);
583
return new AMD64FrameHandler(
_target
, x64Context);
586
return new ARMFrameHandler(
_target
, armContext);
589
return new ARM64FrameHandler(
_target
, arm64Context);
592
return new RISCV64FrameHandler(
_target
, riscV64Context);
595
return new LoongArch64FrameHandler(
_target
, loongArch64Context);
598
return new WasmFrameHandler(
_target
, wasmContext);
613
ulong terminator =
_target
.PointerSize == 8 ? ulong.MaxValue : uint.MaxValue;
617
Data.Frame next =
_target
.ProcessedData.GetOrAdd<Data.Frame>(frame.Next);
621
Data.InlinedCallFrame icf =
_target
.ProcessedData.GetOrAdd<Data.InlinedCallFrame>(frame.Address);
622
Data.InterpreterFrame interpreterFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpreterFrame>(next.Address);
645
if (
_target
.PointerSize != sizeof(uint))
650
if (
_target
.TryReadGlobalString(Constants.Globals.Architecture, out string? arch)
672
Data.InterpMethodContextFrame frame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(hintPtr);
680
Data.InterpMethodContextFrame next =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(frame.NextPtr);
693
frame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(currentPtr);
709
Data.InterpreterFrame interpFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpreterFrame>(frameAddress);
713
Data.InterpMethodContextFrame contextFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(interpMethodFramePtr);
735
Data.InterpMethodContextFrame topContextFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(topContextFramePtr);
778
Data.InterpMethodContextFrame currentFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(context.StackPointer);
785
Data.InterpMethodContextFrame currentFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(currentFramePtr);
790
Data.InterpMethodContextFrame parentFrame =
_target
.ProcessedData.GetOrAdd<Data.InterpMethodContextFrame>(currentFrame.ParentPtr);
803
Data.FramedMethodFrame framedMethodFrame =
_target
.ProcessedData.GetOrAdd<Data.FramedMethodFrame>(interpreterFrameAddress);
834
IRuntimeInfo runtimeInfo =
_target
.Contracts.RuntimeInfo;