Commit 03ec7927 authored by Simon Peyton Jones's avatar Simon Peyton Jones

Comments only

parent 4d5ab1f8
......@@ -479,7 +479,7 @@ subst_opt_id_bndr (SOE { soe_subst = subst, soe_inl = inl }) old_id
id1 = uniqAway in_scope old_id
id2 = setIdType id1 (substTy subst (idType old_id))
new_id = zapFragileIdInfo id2
-- Zaps rules, worker-info, unfolding, and fragile OccInfo
-- Zaps rules, unfolding, and fragile OccInfo
-- The unfolding and rules will get added back later, by add_info
new_in_scope = in_scope `extendInScopeSet` new_id
......
......@@ -1472,15 +1472,15 @@ computeDiscount dflags arg_discounts res_discount arg_infos cont_info
= res_discount -- Over-saturated
| otherwise
= case cont_info of
BoringCtxt -> 0
CaseCtxt -> res_discount -- Presumably a constructor
ValAppCtxt -> res_discount -- Presumably a function
_ -> 40 `min` res_discount
BoringCtxt -> 0
CaseCtxt -> res_discount -- Presumably a constructor
ValAppCtxt -> res_discount -- Presumably a function
_ -> 40 `min` res_discount
-- ToDo: this 40 `min` res_discount doesn't seem right
-- for DiscArgCtxt it shouldn't matter because the function will
-- get the arg discount for any non-triv arg
-- get the arg discount for any non-triv arg
-- for RuleArgCtxt we do want to be keener to inline; but not only
-- constructor results
-- constructor results
-- for RhsCtxt I suppose that exposing a data con is good in general
-- And 40 seems very arbitrary
--
......
......@@ -24,7 +24,7 @@ main = do
let fn n = do
doStuff ref n
when (rem 5 n /= 0 ) $ undo ref
mapM_ fn (take 5000000 $ cycle [1..100])
var <- readIORef ref
print $ length var
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