builder/vm: stabilize json_lint_vm under unified calls
- Fix condition_fn resolution: Value call path + dev safety + stub injection - VM bridge: handle Method::birth via BoxCall; ArrayBox push/get/length/set direct bridge - Receiver safety: pin receiver in method_call_handlers to avoid undefined use across blocks - Local vars: materialize on declaration (use init ValueId; void for uninit) - Prefer legacy BoxCall for Array/Map/String/user boxes in emit_box_or_plugin_call (stability-first) - Test runner: update LLVM hint to llvmlite harness (remove LLVM_SYS_180_PREFIX guidance) - Docs/roadmap: update CURRENT_TASK with unified default-ON + guards Note: NYASH_DEV_BIRTH_INJECT_BUILTINS=1 can re-enable builtin birth() injection during migration.
This commit is contained in:
@ -11,18 +11,23 @@
|
||||
set -euo pipefail
|
||||
|
||||
activate_pyvm() {
|
||||
export NYASH_DISABLE_PLUGINS=1
|
||||
unset NYASH_DISABLE_PLUGINS || true
|
||||
export NYASH_VM_USE_PY=1
|
||||
export NYASH_PIPE_USE_PYVM=1
|
||||
export NYASH_NY_COMPILER_TIMEOUT_MS=${NYASH_NY_COMPILER_TIMEOUT_MS:-2000}
|
||||
echo "[dev-env] PyVM profile activated" >&2
|
||||
# Unified Call: default ON (explicit), and suppress legacy rewrite to avoid duplication
|
||||
export NYASH_MIR_UNIFIED_CALL=${NYASH_MIR_UNIFIED_CALL:-1}
|
||||
export NYASH_DEV_DISABLE_LEGACY_METHOD_REWRITE=1
|
||||
echo "[dev-env] PyVM profile activated (plugins ON)" >&2
|
||||
}
|
||||
|
||||
activate_bridge() {
|
||||
export NYASH_DISABLE_PLUGINS=1
|
||||
unset NYASH_DISABLE_PLUGINS || true
|
||||
unset NYASH_VM_USE_PY || true
|
||||
export NYASH_NY_COMPILER_TIMEOUT_MS=${NYASH_NY_COMPILER_TIMEOUT_MS:-2000}
|
||||
echo "[dev-env] Bridge profile activated (interpreter for pipe)" >&2
|
||||
export NYASH_MIR_UNIFIED_CALL=${NYASH_MIR_UNIFIED_CALL:-1}
|
||||
export NYASH_DEV_DISABLE_LEGACY_METHOD_REWRITE=1
|
||||
echo "[dev-env] Bridge profile activated (interpreter for pipe; plugins ON)" >&2
|
||||
}
|
||||
|
||||
reset_env() {
|
||||
@ -30,6 +35,8 @@ reset_env() {
|
||||
unset NYASH_PIPE_USE_PYVM || true
|
||||
unset NYASH_DISABLE_PLUGINS || true
|
||||
unset NYASH_NY_COMPILER_TIMEOUT_MS || true
|
||||
unset NYASH_MIR_UNIFIED_CALL || true
|
||||
unset NYASH_DEV_DISABLE_LEGACY_METHOD_REWRITE || true
|
||||
unset NYASH_MIR_NO_PHI || true
|
||||
unset NYASH_VERIFY_ALLOW_NO_PHI || true
|
||||
unset NYASH_LLVM_USE_HARNESS || true
|
||||
@ -56,6 +63,9 @@ activate_opbox() {
|
||||
export NYASH_BUILDER_OPERATOR_BOX_COMPARE_CALL=1
|
||||
export NYASH_BUILDER_OPERATOR_BOX_ADD_CALL=1
|
||||
export NYASH_BUILDER_OPERATOR_BOX_ALL_CALL=1
|
||||
# Unified call and legacy suppression
|
||||
export NYASH_MIR_UNIFIED_CALL=${NYASH_MIR_UNIFIED_CALL:-1}
|
||||
export NYASH_DEV_DISABLE_LEGACY_METHOD_REWRITE=1
|
||||
echo "[dev-env] Operator Boxes (stringify/compare/add) enabled (adopt+builder-call)" >&2
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user