Expand description
Debugger integration for the VM
This module handles debugger support, tracing, and debugging operations for the virtual machine.
§Wave 6.5 R-async-time migration (ADR-006 §2.7.4 / §2.7.7)
Pre-bulldozer the display-side trait methods returned ExternalValue
(a runtime-tier display carrier reading ValueWord tag bits). Both
ExternalValue and shape_value::nb_to_external are deleted along
with the rest of the dynamic-dispatch pipeline (CLAUDE.md “Forbidden
Patterns”). The post-§2.7.4 display path is KindedSlot::Debug —
format!("{:?}", kinded_slot) produces a runtime-only display string
without a value-tier dependency. The trait surface here returns
Vec<String> (debug-formatted) at every display-only site:
stack_top/stack_values_vec/local_values_vecuseread_owned_kinded(idx)per playbook §3 (WB2.4 retain-on-read for the runtime carrier) and format the resultingKindedSlotvia itsDebugimpl. The temporaryKindedSlotowns one share which its ownDropreleases when the formatted string is built.
Module-binding inspection (module_binding_values,
set_module_binding) reads through the §2.7.8 / Q10 parallel-kind
track on VirtualMachine.module_bindings /
module_binding_kinds. Both methods are live: the read returns
each binding as a (bits, NativeKind) pair via
module_binding_read_kinded_raw, and the write threads through
module_binding_write_kinded (drop-prior + install-new with the
same retain/release discipline stack_write_kinded enforces). No
discriminator fabrication, no §2.7.7 #9 Bool-default fallback —
the kind comes from the parallel track populated lockstep by every
producer site.
Traits§
- Debugger
Integration - Debugger integration for VirtualMachine.