From 0f865e98f063489b4c8ff6de0b80352e651ec723 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 6 Nov 2001 11:03:00 +0000 Subject: [PATCH] [project @ 2001-11-06 11:03:00 by simonmar] Add a comment explaining the discount subtraction in mkSizeIs. --- ghc/compiler/coreSyn/CoreUnfold.lhs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ghc/compiler/coreSyn/CoreUnfold.lhs b/ghc/compiler/coreSyn/CoreUnfold.lhs index 2f5a643..457f9cf 100644 --- a/ghc/compiler/coreSyn/CoreUnfold.lhs +++ b/ghc/compiler/coreSyn/CoreUnfold.lhs @@ -353,6 +353,11 @@ data ExprSize = TooBig FastInt -- Size to subtract if result is scrutinised -- by a case expression +-- subtract the discount before deciding whether to bale out. eg. we +-- want to inline a large constructor application into a selector: +-- tup = (a_1, ..., a_99) +-- x = case tup of ... +-- mkSizeIs max n xs d | (n -# d) ># max = TooBig | otherwise = SizeIs n xs d -- 1.7.10.4