X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FZipCfgCmmRep.hs;h=d821b03b140abbb33abb5775075e517a11323855;hb=831a35dd00faff195cf938659c2dd736192b865f;hp=715fd093388b1cc40bdd32a11cccaf49c992aa70;hpb=e239aa2329416a2822fcc03c4ed486c7d28739e1;p=ghc-hetmet.git diff --git a/compiler/cmm/ZipCfgCmmRep.hs b/compiler/cmm/ZipCfgCmmRep.hs index 715fd09..d821b03 100644 --- a/compiler/cmm/ZipCfgCmmRep.hs +++ b/compiler/cmm/ZipCfgCmmRep.hs @@ -110,20 +110,22 @@ data MidCallTarget -- The target of a MidUnsafeCall deriving Eq data Convention - = NativeCall -- Native C-- call + = NativeDirectCall -- Native C-- call skipping the node (closure) argument + + | NativeNodeCall -- Native C-- call including the node argument - | NativeReturn -- Native C-- return + | NativeReturn -- Native C-- return - | Slow -- Slow entry points: all args pushed on the stack + | Slow -- Slow entry points: all args pushed on the stack - | GC -- Entry to the garbage collector: uses the node reg! + | GC -- Entry to the garbage collector: uses the node reg! - | PrimOpCall -- Calling prim ops + | PrimOpCall -- Calling prim ops - | PrimOpReturn -- Returning from prim ops + | PrimOpReturn -- Returning from prim ops - | Foreign -- Foreign call/return - ForeignConvention + | Foreign -- Foreign call/return + ForeignConvention | Private -- Used for control transfers within a (pre-CPS) procedure All @@ -520,14 +522,15 @@ genFullCondBranch expr t f = ] pprConvention :: Convention -> SDoc -pprConvention (NativeCall {}) = text "" -pprConvention (NativeReturn {}) = text "" -pprConvention Slow = text "" -pprConvention GC = text "" -pprConvention PrimOpCall = text "" -pprConvention PrimOpReturn = text "" -pprConvention (Foreign c) = ppr c -pprConvention (Private {}) = text "" +pprConvention (NativeNodeCall {}) = text "" +pprConvention (NativeDirectCall {}) = text "" +pprConvention (NativeReturn {}) = text "" +pprConvention Slow = text "" +pprConvention GC = text "" +pprConvention PrimOpCall = text "" +pprConvention PrimOpReturn = text "" +pprConvention (Foreign c) = ppr c +pprConvention (Private {}) = text "" pprForeignConvention :: ForeignConvention -> SDoc pprForeignConvention (ForeignConvention c as rs) = ppr c <> ppr as <> ppr rs