Skip Navigation

Task Engine VM (progress update)

GitHub - tracyspacy/spacydo: SPACYDO is a stack-based virtual machine with image-based persistence. The core abstraction is a TASK: a persistent entity carrying its own executable bytecode alongside its state. Tasks can observe and modify fields of other tasks and their own.

cross-posted from: https://lemmy.ml/post/42532243

Recent updates:

  • VM now uses NaN-boxing technique.
  • All stack values are 64-bit (u64) but encode 5 distinct types: Boolean, String, CallData, U32, and MemSlice (25-bit offset + 25-bit size). code
  • 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. code
  • VM now has a heap memory. Memory is simple Vec

    <u64>

    , grows dynamically, but technically length is restricted by mem_slice_val format: 25 bits payload for offset and size

Project is still in absolutely early stage.

Comments

0