From 01e0ae9952d48cbb127849405ac4d7212254604a Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 16 Aug 2002 14:30:21 +0000 Subject: [PATCH] [project @ 2002-08-16 14:30:21 by simonmar] Use an stg_ap_2 thunk rather than an AP_UPD in rts_apply(). Saves one word per rts_apply(), and a little time too. --- ghc/rts/RtsAPI.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ghc/rts/RtsAPI.c b/ghc/rts/RtsAPI.c index e144e84..7449bad 100644 --- a/ghc/rts/RtsAPI.c +++ b/ghc/rts/RtsAPI.c @@ -1,5 +1,5 @@ /* ---------------------------------------------------------------------------- - * $Id: RtsAPI.c,v 1.35 2002/06/19 20:45:14 sof Exp $ + * $Id: RtsAPI.c,v 1.36 2002/08/16 14:30:21 simonmar Exp $ * * (c) The GHC Team, 1998-2001 * @@ -232,12 +232,13 @@ rts_mkString (char *s) HaskellObj rts_apply (HaskellObj f, HaskellObj arg) { - StgAP_UPD *ap = (StgAP_UPD *)alloc(AP_sizeW(1)); - SET_HDR(ap, &stg_AP_UPD_info, CCS_SYSTEM); - ap->n_args = 1; - ap->fun = f; - ap->payload[0] = arg; - return (StgClosure *)ap; + StgClosure *ap; + + ap = (StgClosure *)alloc(sizeofW(StgClosure) + 2); + SET_HDR(ap, (StgInfoTable *)&stg_ap_2_upd_info, CCS_SYSTEM); + ap->payload[0] = f; + ap->payload[1] = arg; + return (StgClosure *)ap; } /* ---------------------------------------------------------------------------- -- 1.7.10.4