ares/notes/notes-~2021.9.23.md
2021-10-21 18:13:52 -04:00

1.2 KiB

Notes ~2021.9.23

Discussion with ~rovnys-ricfer

  • Some discussion of the memory model, in particular using tag bits to identify
    • direct noun
    • indirect noun
    • pointer to cell
    • hash table reference
  • Hash table ejection strategy
    • When the copier is returning a noun, it counts how many iterations of copying it has performed
    • Above a tunable threshhold, an entry in the hash table is made and the noun is copied there instead.
    • Existing pointers into the hash table are copied and re-inserted as new entries, thus maintaining an invariant that a hash table entry can only reference its own memory by a direct pointer, or another hash table entry, by hash reference.
    • nouns that require metadata (jet pointers, cached bytecode) are ejected to the hashtable
    • hashtable can also store non-noun data such as bytecode
    • TBD: a collection strategy for the hash table.

Infrastructure channel discussion

  • Interpreter should handle nock 12 with an extra input of a scry gate stack, so it can be used to jet +mink
  • Also need to return crash values from the interpreter, and build traces when passing through nock 11.
  • ~master-morzod objects to calling the machine code from JIT compilation "automatic jets" and is probably right.