builder: pre-pin comparison operands in if_form and loop_builder (lower_if_in_loop/build_loop) to slots; utils: pin_to_slot pub(crate) and entry materialize for pinned slots only; continue JSON VM debug

This commit is contained in:
Selfhosting Dev
2025-09-26 04:17:56 +09:00
parent fd56b8049a
commit 6e1bf149fc
11 changed files with 1112 additions and 6 deletions

View File

@ -127,6 +127,9 @@ pub struct MirBuilder {
/// Hint sink (zero-cost guidance; currently no-op)
pub(super) hint_sink: crate::mir::hints::HintSink,
/// Internal counter for temporary pin slots (block-crossing ephemeral values)
temp_slot_counter: u32,
}
impl MirBuilder {
@ -164,6 +167,7 @@ impl MirBuilder {
cleanup_allow_return: false,
cleanup_allow_throw: false,
hint_sink: crate::mir::hints::HintSink::new(),
temp_slot_counter: 0,
}
}