docs(phase260): checkpoint P0/P0.1 + update quick first fail

This commit is contained in:
2025-12-21 05:54:00 +09:00
parent 1fe5be347d
commit 8fa7e64f24
3 changed files with 25 additions and 11 deletions

View File

@ -427,9 +427,10 @@ impl JoinIrBlockConverter {
effects: EffectMask::PURE,
});
// Phase 131 P2: Preserve tail-call args as jump_args metadata (SSOT for exit wiring)
// Phase 131 P2: Preserve tail-call args as legacy jump-args metadata (for exit wiring)
//
// Merge/ExitArgsCollector uses BasicBlock.jump_args to recover carrier/env values.
// The merge pipeline recovers carrier/env values from the legacy jump-args path
// (via BasicBlock APIs) when converting Return → Jump to the exit block.
// Without this, tail-call blocks look like "no args", forcing fallbacks that can
// produce undefined ValueIds in DirectValue mode.
if let Some(block) = mir_func.blocks.get_mut(&self.current_block_id) {