summaryrefslogtreecommitdiff
path: root/rts/ClosureSize.c
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2022-05-03 12:18:30 +0100
committerAndreas Klebinger <klebinger.andreas@gmx.at>2022-07-18 07:41:11 +0200
commit6c8415369cf2b8d86a7617638e65985a42b7f760 (patch)
tree7b62dc6dc138c1de4e647f3af87bd1b8a2c6ceb6 /rts/ClosureSize.c
parentb27c5947ed9537f8cde153be4e53d4095ecbe247 (diff)
downloadhaskell-wip/T21457.tar.gz
Refactor SpecConstr to use treat bindings uniformlywip/T21457
This patch, provoked by #21457, simplifies SpecConstr by treating top-level and nested bindings uniformly (see the new scBind). * Eliminates the mysterious scTopBindEnv * Refactors scBind to handle top-level and nested definitions uniformly. * But, for now at least, continues the status quo of not doing SpecConstr for top-level non-recursive bindings. (In contrast we do specialise nested non-recursive bindings, although the original paper did not; see Note [Local let bindings].) I tried the effect of specialising top-level non-recursive bindings (which is now dead easy to switch on, unlike before) but found some regressions, so I backed off. See !8135. It's a pure refactoring. I think it'll do a better job in a few cases, but there is no regression test.
Diffstat (limited to 'rts/ClosureSize.c')
0 files changed, 0 insertions, 0 deletions