Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nouncode? #249

Open
4 tasks
matthew-levan opened this issue Jul 10, 2024 · 0 comments
Open
4 tasks

nouncode? #249

matthew-levan opened this issue Jul 10, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@matthew-levan
Copy link
Contributor

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 matthew-levan added the enhancement New feature or request label Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants