summaryrefslogtreecommitdiff
path: root/compiler/GHC/StgToCmm/DataCon.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/StgToCmm/DataCon.hs')
-rw-r--r--compiler/GHC/StgToCmm/DataCon.hs6
1 files changed, 1 insertions, 5 deletions
diff --git a/compiler/GHC/StgToCmm/DataCon.hs b/compiler/GHC/StgToCmm/DataCon.hs
index da5776989c..47777675bf 100644
--- a/compiler/GHC/StgToCmm/DataCon.hs
+++ b/compiler/GHC/StgToCmm/DataCon.hs
@@ -79,17 +79,13 @@ cgTopRhsCon cfg id con mn args
-- See Note [About the NameSorts] in "GHC.Types.Name" for Internal/External
(static_info, static_code)
+ -- For virtual data constructors simply produce a indirection.
| virtualDataConType con == VirtualBoxed
, [NonVoid (StgVarArg x)] <- args
= let cg_id_info = litIdInfo platform id lf_info (CmmLabel closure_label)
lf_info = LFUnknown False
in (cg_id_info, emitIndCon x dontCareCCS closure_label)
- -- panic "topRhsCon" $ let fake_rhs = StgApp x []
- -- in
- -- pprTrace "cgTopRhsCon" (ppr id $$ ppr con $$ ppr args) $
- -- cgTopRhsClosure platform NonRecursive id dontCareCCS Updatable [] fake_rhs
-
-- Otherwise generate a closure for the constructor.
| otherwise
= (id_Info, gen_code)