ares icon indicating copy to clipboard operation
ares copied to clipboard

nouncode?

Open matthew-levan opened this issue 7 months ago • 0 comments

PR #245 implements a denser representation of linearized instructions output for the subject-knowledge analysis system. It replaces the $bile structure with a custom aura called @uwoo. By replacing $biles with @uwoos, we can represent sequences of basic blocks with arrays instead of with HAMTs, thereby improving interpretation performance by replacing slow (Noun or Hamt) lookups with fast (array) lookups. @uwoos are simply indices of the basic block array.

It also introduces $fuji, a structure to encapsulate all the relevant output:

+$  fuji
  $:  hill=(map @uwoo blob)  ::  basic block by id -> rust array
      peal=(map bell @uwoo)  ::  direct calls
      gong=(map bell @uwoo)  ::  indirect calls
      vibe=(map bell pile)   ::  virtual register file
  ==
--

See changes to gene.hoon for structure modifications and introductions and line.hoon for their use.

TODO:

  • [ ] Hoon-side
    • [ ] ...
  • [ ] Rust-side
    • [ ] ...

matthew-levan avatar Jul 10 '24 16:07 matthew-levan