summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmClosure.hs
diff options
context:
space:
mode:
authorPatrick Palka <patrick@parcs.ath.cx>2013-12-05 11:19:25 -0500
committerPatrick Palka <patrick@parcs.ath.cx>2013-12-05 11:25:54 -0500
commit980badd133d0e8694bfe2fad7c123da0e51c3250 (patch)
treee7cf41abf4933ba89e0e29cf402241cff1804ffd /compiler/codeGen/StgCmmClosure.hs
parent8157a26640bc88fad263d6396da5d8313ffbfee4 (diff)
downloadhaskell-980badd133d0e8694bfe2fad7c123da0e51c3250.tar.gz
Remove the LFBlackHole constructor
After commit 55c703b8fdb0, this code is no longer used anywhere.
Diffstat (limited to 'compiler/codeGen/StgCmmClosure.hs')
-rw-r--r--compiler/codeGen/StgCmmClosure.hs27
1 files changed, 0 insertions, 27 deletions
diff --git a/compiler/codeGen/StgCmmClosure.hs b/compiler/codeGen/StgCmmClosure.hs
index 037ba97daa..af9c7b8e07 100644
--- a/compiler/codeGen/StgCmmClosure.hs
+++ b/compiler/codeGen/StgCmmClosure.hs
@@ -23,7 +23,6 @@ module StgCmmClosure (
StandardFormInfo, -- ...ditto...
mkLFThunk, mkLFReEntrant, mkConLFInfo, mkSelectorLFInfo,
mkApLFInfo, mkLFImported, mkLFArgument, mkLFLetNoEscape,
- mkLFBlackHole,
lfDynTag,
maybeIsLFCon, isLFThunk, isLFReEntrant, lfUpdatable,
@@ -180,13 +179,6 @@ data LambdaFormInfo
| LFLetNoEscape -- See LetNoEscape module for precise description
- | LFBlackHole -- Used for the closures allocated to hold the result
- -- of a CAF. We want the target of the update frame to
- -- be in the heap, so we make a black hole to hold it.
-
- -- XXX we can very nearly get rid of this, but
- -- allocDynClosure needs a LambdaFormInfo
-
-------------------------
-- StandardFormInfo tells whether this thunk has one of
@@ -294,10 +286,6 @@ mkLFImported id
where
arity = idRepArity id
-------------
-mkLFBlackHole :: LambdaFormInfo
-mkLFBlackHole = LFBlackHole
-
-----------------------------------------------------
-- Dynamic pointer tagging
-----------------------------------------------------
@@ -361,10 +349,6 @@ maybeIsLFCon _ = Nothing
------------
isLFThunk :: LambdaFormInfo -> Bool
isLFThunk (LFThunk {}) = True
-isLFThunk LFBlackHole = True
- -- return True for a blackhole: this function is used to determine
- -- whether to use the thunk header in SMP mode, and a blackhole
- -- must have one.
isLFThunk _ = False
isLFReEntrant :: LambdaFormInfo -> Bool
@@ -439,7 +423,6 @@ nodeMustPointToIt _ (LFCon _) = True
nodeMustPointToIt _ (LFUnknown _) = True
nodeMustPointToIt _ LFUnLifted = False
-nodeMustPointToIt _ LFBlackHole = True -- BH entry may require Node to point
nodeMustPointToIt _ LFLetNoEscape = False
{- Note [GC recovery]
@@ -579,11 +562,6 @@ getCallMethod _ name _ (LFUnknown False) n_args _cg_loc _self_loop_info
= ASSERT2( n_args == 0, ppr name <+> ppr n_args )
EnterIt -- Not a function
-getCallMethod _ _name _ LFBlackHole _n_args _cg_loc _self_loop_info
- = SlowCall -- Presumably the black hole has by now
- -- been updated, but we don't know with
- -- what, so we slow call it
-
getCallMethod _ _name _ LFLetNoEscape _n_args (LneLoc blk_id lne_regs) _self_loop_info
= JumpToIt blk_id lne_regs
@@ -787,9 +765,6 @@ closureUpdReqd ClosureInfo{ closureLFInfo = lf_info } = lfUpdatable lf_info
lfUpdatable :: LambdaFormInfo -> Bool
lfUpdatable (LFThunk _ _ upd _ _) = upd
-lfUpdatable LFBlackHole = True
- -- Black-hole closures are allocated to receive the results of an
- -- alg case with a named default... so they need to be updated.
lfUpdatable _ = False
closureSingleEntry :: ClosureInfo -> Bool
@@ -836,8 +811,6 @@ closureLocalEntryLabel dflags
mkClosureInfoTableLabel :: Id -> LambdaFormInfo -> CLabel
mkClosureInfoTableLabel id lf_info
= case lf_info of
- LFBlackHole -> mkCAFBlackHoleInfoTableLabel
-
LFThunk _ _ upd_flag (SelectorThunk offset) _
-> mkSelectorInfoLabel upd_flag offset