Skip to main content

Module debugger_integration

Module debugger_integration 

Source
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_vec use read_owned_kinded(idx) per playbook §3 (WB2.4 retain-on-read for the runtime carrier) and format the resulting KindedSlot via its Debug impl. The temporary KindedSlot owns one share which its own Drop releases 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§

DebuggerIntegration
Debugger integration for VirtualMachine.