builder+vm: unify method calls via emit_unified_call; add RouterPolicy trace; finalize LocalSSA/BlockSchedule guards; docs + selfhost quickstart
- Unify standard method calls to emit_unified_call; route via RouterPolicy and apply rewrite::{special,known} at a single entry.\n- Stabilize emit-time invariants: LocalSSA finalize + BlockSchedule PHI→Copy→Call ordering; metadata propagation on copies.\n- Known rewrite default ON (userbox only, strict guards) with opt-out flag NYASH_REWRITE_KNOWN_DEFAULT=0.\n- Expand TypeAnnotation whitelist (is_digit_char/is_hex_digit_char/is_alpha_char/Map.has).\n- Docs: unified-method-resolution design note; Quick Reference normalization note; selfhosting/quickstart.\n- Tools: add tools/selfhost_smoke.sh (dev-only).\n- Keep behavior unchanged for Unknown/core/user-instance via BoxCall fallback; all tests green (quick/integration).
This commit is contained in:
@ -382,9 +382,11 @@ impl<'a> LoopBuilder<'a> {
|
||||
then_bb: BasicBlockId,
|
||||
else_bb: BasicBlockId,
|
||||
) -> Result<(), String> {
|
||||
// LocalSSA: ensure condition is materialized in the current block
|
||||
let condition_local = self.parent_builder.local_ssa_ensure(condition, 4);
|
||||
self.parent_builder
|
||||
.emit_instruction(MirInstruction::Branch {
|
||||
condition,
|
||||
condition: condition_local,
|
||||
then_bb,
|
||||
else_bb,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user