- (nukeDeadBindings full_live_in_rhss)
- (forkAbsC (cgLetNoEscapeBody args body))
- `thenFC` \ (vA, vB, code) ->
- let
- label = mkStdEntryLabel binder -- arity
- in
- absC (CCodeBlock label code) `thenC`
- returnFC (binder, letNoEscapeIdInfo binder vA vB lf_info)
+
+ (allocStackTop retPrimRepSize `thenFC` \_ ->
+ nukeDeadBindings full_live_in_rhss)
+
+ (deAllocStackTop retPrimRepSize `thenFC` \_ ->
+ buildContLivenessMask uniq `thenFC` \ liveness ->
+ forkAbsC (cgLetNoEscapeBody binder cc args body lbl)
+ `thenFC` \ code ->
+ getSRTLabel `thenFC` \ srt_label ->
+ absC (CRetDirect uniq code (srt_label,srt) liveness)
+ `thenC` returnFC ())
+ `thenFC` \ (vSp, _) ->
+
+ returnFC (binder, letNoEscapeIdInfo binder vSp lf_info)