任务引擎虚拟机 – 用于具有可执行指令的任务(进度更新)

2作者: tracyspacy3 天前原帖
核心理念是最小任务模型 + 可编程行为——一个小型核心可以支持无限的功能,因为每个任务都可以携带可执行脚本。 最近的更新: - 虚拟机现在使用NaN-boxing技术。 - 所有栈值为64位(u64),但编码了5种不同类型: 布尔值、字符串、调用数据、U32和内存切片(25位偏移量 + 25位大小)。 - 添加了InlineVec——一种类似向量的结构,基于固定大小的数组。虚拟机栈、控制栈、调用栈和跳转栈现在都使用它,并设定了明确的限制。 - 虚拟机现在有内存(堆)。内存是简单的Vec<u64>,动态增长,但从技术上讲,长度受mem_slice_val格式的限制:偏移量和大小各占25位有效载荷。 该项目仍处于非常早期的阶段。 代码库在这里:https://github.com/tracyspacy/spacydo
查看原文
The core idea is Minimal task model + programmable behaviour — a small core that enables unlimited features, since each task can carry executable scripts.<p>Recent updates:<p>- VM now uses NaN-boxing technique.<p>- All stack values are 64-bit (u64) but encode 5 distinct types: Boolean, String, CallData, U32, and MemSlice (25-bit offset + 25-bit size).<p>- Added InlineVec — a vector-like structure backed by a fixed-size array. The VM stack, control stack, call stack, and jump stack now use it with defined limits. - VM has memory now (heap). Memory is simple Vec&lt;u64&gt;, grows dynamically, but technically length is restricted by mem_slice_val format: 25 bits payload for offset and size<p>Project is still in absolutely early stage.<p>Repo is here: https:&#x2F;&#x2F;github.com&#x2F;tracyspacy&#x2F;spacydo