diff options
author | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-05 11:19:25 -0500 |
---|---|---|
committer | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-05 11:25:54 -0500 |
commit | 980badd133d0e8694bfe2fad7c123da0e51c3250 (patch) | |
tree | e7cf41abf4933ba89e0e29cf402241cff1804ffd /compiler/codeGen/StgCmmClosure.hs | |
parent | 8157a26640bc88fad263d6396da5d8313ffbfee4 (diff) | |
download | haskell-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.hs | 27 |
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 |