mir: implement proper short-circuit lowering (&&/||) via branch+phi; vm: add NYASH_VM_TRACE exec/phi logs and reg_load diagnostics; vm-fallback: minimal Void guards (push/get_position/line/column), MapBox.birth no-op; smokes: filter builtin Array/Map plugin notices; docs: CURRENT_TASK updated

This commit is contained in:
Selfhosting Dev
2025-09-26 03:30:59 +09:00
parent 041cef875a
commit fd56b8049a
45 changed files with 3022 additions and 204 deletions

View File

@ -420,9 +420,9 @@ impl MirBuilder {
// Record origin for optimization: dst was created by NewBox of class
self.value_origin_newbox.insert(dst, class.clone());
// For plugin/builtin boxes, call birth(...). For user-defined boxes, skip (InstanceBox already constructed)
// Special-case: StringBox is already fully constructed via from_i8_string in LLVM lowering; skip birth
if !self.user_defined_boxes.contains(&class) && class != "StringBox" {
// Call birth(...) for all boxes except StringBox (special-cased in LLVM path)
// User-defined boxes require birth to initialize fields (scanner/tokens etc.)
if class != "StringBox" {
let birt_mid = resolve_slot_by_type_name(&class, "birth");
self.emit_box_or_plugin_call(
None,