Files
endorphin-aster-vm/crates/core/src

Core VM 源码导航

本目录只实现 VM、内部执行帧和 wordcode 求值循环。核心对象、对象堆、内置载荷、指令与代码对象数据属于独立 objects/src。

文件 职责
lib.rs VM 类型导出、objects 类型兼容重导出(含 ReadAccess/CallSignature/CallType/CallEffect)、宿主调用与字节码 rustdoc 示例
vm.rs Vm 拥有 ObjectStore 与错误位置记录;对象操作和宿主 new_class 和显式/类型化Trait注册/关系查询显式委托给 objects;函数/字段检查统一开关、统一参数区间查询与函数类型配置
frame.rs EndorFrame、栈条目、源码与原生委托返回契约执行根、执行位置元数据、ExecutionLimits
eval.rs execute/call、只读调用与依赖结果、参数绑定、原生实现前数量/类型/效果检查和原生/类型化Trait委托返回检查、可选注解/动态覆写兼容检查、源码类字段环境绑定、帧切换、取指分派、MakeFunction、结果根转移与失败清理

常见修改入口

要修改什么 涉及位置 同步说明
对象表示、分配、引用或内置对象行为 objects/src;兼容方法需要时同步 vm.rs 委托 对象模型、基本对象
新操作码或代码布局 objects 的 instruction.rs/code.rs、core 的 eval.rs 字节码 VM、execution 检查
调用、闭包或返回值根管理 frame.rs、eval.rs、objects 的函数 trace 生命周期
新 VM 公开 API vm.rs/eval.rs 与 lib.rs 导出 所属主题、示例、tests 导航

core 不访问对象私有字段或 Heap;执行器只通过受校验的对象存储操作维护帧根。返回 core。