Memoize the success checker's per-fn body re-inference
check-user-call rebuilt the all-:any env once per parameter (O(params^2)) and re-inferred a callee body at every call site. Build the env once and memoize each probe by [key i argtype] (and the baseline by [:base key]), cleared per form in check-form. The global type-env is stable within a form's check and the probe's calls/escapes side effects aren't read there, so a skipped repeat is observably identical. (The inline-side re-walk the audit flagged is moot: hc-inline-ir is a no-op on Chez, so try-inline never reaches body-size/body-closed?.)
This commit is contained in:
parent
b8492ad81a
commit
0db08e7571
2 changed files with 137 additions and 116 deletions
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue