import Maybes
import Constants
+import Panic
-------------------------------------------------------------------------
--
return (makeRelativeRefTo info_lbl cstr)
else return (mkIntCLit 0)
- ; emitInfoTableAndCode info_lbl std_info (extra_bits conName) args blks }
+ ; panic "emitClosureCodeAndInfoTable" } --emitInfoTableAndCode info_lbl std_info (extra_bits conName) args blks }
where
info_lbl = infoTableLabelFromCI cl_info
mkRetInfoTable info_lbl liveness srt_info cl_type
; blks <- cgStmtsToBlocks stmts
- ; emitInfoTableAndCode info_lbl std_info extra_bits args blks
+ ; panic "emitReturnTarget" --emitInfoTableAndCode info_lbl std_info extra_bits args blks
; return info_lbl }
where
args = {- trace "emitReturnTarget: missing args" -} []
:: CLabel -- info label
-> Liveness -- liveness
-> C_SRT -- SRT Info
- -> Int -- type (eg. rET_SMALL)
+ -> StgHalfWord -- type (eg. rET_SMALL)
-> ([CmmLit],[CmmLit])
mkRetInfoTable info_lbl liveness srt_info cl_type
= (std_info, srt_slot)
mkStdInfoTable
:: CmmLit -- closure type descr (profiling)
-> CmmLit -- closure descr (profiling)
- -> Int -- closure type
+ -> StgHalfWord -- closure type
-> StgHalfWord -- SRT length
-> CmmLit -- layout field
-> [CmmLit]
emitInfoTableAndCode
:: CLabel -- Label of info table
+ -> CmmInfo -- ...the info table
+ -> CmmFormals -- ...args
+ -> [CmmBasicBlock] -- ...and body
+ -> Code
+
+emitInfoTableAndCode info_lbl info args blocks
+ = emitProc info entry_lbl args blocks
+ where
+ entry_lbl = infoLblToEntryLbl info_lbl
+
+{-
+emitInfoTableAndCode
+ :: CLabel -- Label of info table
-> [CmmLit] -- ...its invariant part
-> [CmmLit] -- ...and its variant part
-> CmmFormals -- ...args
where
entry_lbl = infoLblToEntryLbl info_lbl
+-}
-------------------------------------------------------------------------
--