Skip to content

Instantly share code, notes, and snippets.

-mass test

Below are instructions to run -mass from this project:

  1. Clone my versions of vere and urbit repos (mind the branches, modernize-mass and mass-thread respectively)
  2. Build vere binary
  3. Boot a fakezod:
./vere/bazel-bin/pkg/vere/urbit -F zod -B urbit/bin/brass.pill -A urbit/pkg/arvo
  1. Run -mass in dojo, After the usual printfs, you should get something like:
@dozreg-toplud
dozreg-toplud / urwasm-todo.md
Last active September 10, 2024 02:41
urwasm TODO

Interpreter in Hoon

  • Change memory model: random access via (map page-number=@ page-array=@)
  • Revisit the model of block/loop/if and call/call_indirect execution: it appears that the current model causes unnecessary copies of the entire membuffer, slowing down the computation. So instead of cloning the core, interpreting an expression and back-propagating changes in the global state, I need to call an evaluating arm that will edit the global state in-place
  • Cache function fetching:
    • Have a gate fetch-operation within apply-instruction that takes term of an instruction as an argument and returns a number of operands to be consumed and a gate to be applied to the immediate arguments and consumed operands
    • Cache that gate
    • Fetching gate and operation gates must be defined outside of hwasm core
    • Use four letters for operators (shoudld speed things up since 4 letter term is a direct atom)
  • Floating point: verify roundings and such (iirc they are different in Wasm spec an