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

ares codegen redux #238

Draft
wants to merge 68 commits into
base: status
Choose a base branch
from
Draft

ares codegen redux #238

wants to merge 68 commits into from

Conversation

joemfb
Copy link
Member

@joemfb joemfb commented Jun 4, 2024

This PR is based on and supersedes #135. The diff relative to that PR is here: eamsden/codegen...jb/codegen-perf

Changes include:

  • spot-hint tracking for granular debug output
  • a second layer of memoization within the analysis of recursive computation ("meloization")
  • refactoring of the analysis into separate arms for profiling

The spot-hint handling and associated output provide a means for understanding incremental analysis results for a piece nock (when the hints are present). The additional memoization makes it possible to analyze massive instances of mutual recursion (like +ut). The refactoring supports profiling in vere with -j.

The changes relative to #135 are best understood in pieces:

There are currently a handful of false positive "meloization" hits in the analysis of hoon.hoon. We have safety-checks in finalization that properly detect these, but we don't yet correctly turn all ancestor call sites indirect. This and other TODOs are noted in 8805494. This PR will remain a draft until those issues are resolved.

joemfb and others added 30 commits June 4, 2024 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants