Commit 08e73ccf authored by lukemaurer's avatar lukemaurer Committed by Ben Gamari

Fix #13382: Put join ceiling underneath lambdas

Test Plan: No new test (bug is latent)

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D3285
parent ed281704
......@@ -1167,7 +1167,8 @@ lvlFloatRhs abs_vars dest_lvl env rec is_bot mb_join_arity rhs
(body_env, bndrs') | Just _ <- mb_join_arity
= lvlJoinBndrs env1 dest_lvl rec all_bndrs
| otherwise
= lvlLamBndrs (placeJoinCeiling env1) dest_lvl all_bndrs
= case lvlLamBndrs env1 dest_lvl all_bndrs of
(env2, bndrs') -> (placeJoinCeiling env2, bndrs')
-- The important thing here is that we call lvlLamBndrs on
-- all these binders at once (abs_vars and bndrs), so they
-- all get the same major level. Otherwise we create stupid
......
......@@ -746,10 +746,12 @@ test('T9675',
# 2015-07-11 56 (x86/Linux, 64-bit machine) use +RTS -G1
]),
compiler_stats_num_field('bytes allocated',
[(wordsize(64), 731171072, 10)
[(wordsize(64), 656137960, 10)
# 2014-10-13 544489040
# 2015-10-28 608284152 emit Typeable at definition site
# 2017-02-17 731171072 Type-indexed Typeable
# 2017-03-13 656137960 Put join ceiling underneath lambdas?
,(wordsize(32), 279480696, 10)
# 2015-07-11 279480696 (x86/Linux, 64-bit machine) use +RTS -G1
]),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment