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, 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.