10 references to WasmContext
Microsoft.Diagnostics.DataContractReader.Contracts (10)
Contracts\StackWalk\Context\IPlatformAgnosticContext.cs (1)
53
RuntimeInfoArchitecture.Wasm => new ContextHolder<
WasmContext
>(),
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (2)
370
ContextHolder<
WasmContext
> contextHolder => new WasmFrameHandler(_target, contextHolder),
564
RuntimeInfoArchitecture.Wasm =>
WasmContext
.InterpreterWalkFramePointerRegister,
Contracts\StackWalk\FrameHandling\WasmFrameHandler.cs (7)
13
/// WebAssembly has no native register context (see <see cref="
WasmContext
"/>). Seeding the
18
/// pointer) into the three synthetic <see cref="
WasmContext
"/> slots, which is the common
20
/// serialized <see cref="
WasmContext
"/> blob from the frame's <c>TargetContext</c>.
24
internal sealed class WasmFrameHandler(Target target, ContextHolder<
WasmContext
> contextHolder)
27
private readonly ContextHolder<
WasmContext
> _holder = contextHolder;
41
if (!_holder.Context.TrySetRegister(
WasmContext
.InterpreterWalkFramePointerRegister, new TargetNUInt(next.Address.Value)))
42
throw new InvalidOperationException($"Failed to set WASM interpreter frame-pointer register '{
WasmContext
.InterpreterWalkFramePointerRegister}'.");