CONCURRENCY Jsvmp

接入准备 / 01

Concurrency
Jsvmp 接入规划

这是一份把问题整理清楚的接入准备指南:从源码边界开始,确认转换路径、运行时约束、性能预算与交付物。真实编译器的能力、命令与参数,以正式发行版为准。

01 / 执行模型

从源码,到另一套执行语义。

接入时可以把链路拆成四个概念层。源码表达业务意图;AST 或 IR 保留可分析的结构;字节码把选定操作编码为指令;虚拟机运行时负责读取指令并维护执行状态。每层都应有可以独立比对的输入、输出和错误边界。

01源码确认入口、依赖与副作用。
02AST / IR把语法结构与控制流变成可检查的中间表达。
03字节码为操作、常量和跳转建立稳定指令边界。
04VM在目标运行时解释指令并回传结果。
02 / 逻辑选取

保护边界,先于转换。

优先选择输入输出明确、依赖范围可控、对产品有实际价值的函数或模块。把网络请求、DOM、时间、随机数、原生桥接等外部能力逐项标注,先决定哪些能力由运行时提供,再决定转换范围。

  1. 01
    列出入口与契约记录参数、返回值、异常、同步或异步行为。
  2. 02
    标注外部依赖明确哪些对象、能力和副作用必须保留。
  3. 03
    建立对照样例固定输入、输出和错误场景,逐层比较行为。
  4. 04
    决定回退边界为不支持的语法或运行时能力保留清晰处理路径。
03 / 预算与交付

把性能与交付写进计划。

先测量现有构建的包体、冷启动、热路径和内存,再为转换层和运行时设定增量预算。以下字段用于收集基线,不是某个编译器的默认承诺。

包体记录增量包体分别记录字节码、运行时和映射文件。
运行耗时记录启动与热路径在代表性设备和真实输入下重复测量。
内存记录峰值与回收观察缓存、VM 状态和异常路径。
输入资料接入资料包

目标环境、构建版本、待保护模块、最小样例、基线数据、兼容约束与回退要求。

输出产物待正式版确认的产物

可能包含转换后的代码、字节码、运行时资源、版本信息与验证报告;具体形态、命令和参数以正式发行版为准。

提交流程:先复制项目需求模板,补齐目标环境与性能基线;再提交最小可复现样例,逐层确认 AST / IR、字节码和 VM 行为;最后在代表性设备上做回归、灰度和回退演练。