X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FStgMacros.h;h=4a5a985fef50a5dd9ab9c9f64209aa9ab56be581;hb=6b4abadb6b860d53ed20d795cd2274bd7fc275f8;hp=2aecd4593a5b042a1b53ec7ca89cdfb4feb820e4;hpb=a5fb24aa07bf961023a79b1e947e223d91becd2f;p=ghc-hetmet.git diff --git a/ghc/includes/StgMacros.h b/ghc/includes/StgMacros.h index 2aecd45..4a5a985 100644 --- a/ghc/includes/StgMacros.h +++ b/ghc/includes/StgMacros.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StgMacros.h,v 1.53 2003/04/28 10:02:15 simonmar Exp $ + * $Id: StgMacros.h,v 1.56 2003/08/05 14:01:34 simonpj Exp $ * * (c) The GHC Team, 1998-1999 * @@ -445,6 +445,14 @@ EXTFUN_RTS(stg_gen_block); # else // An object is replaced by a blackhole, so we fill the slop with zeros. // +// This looks like it can't work - we're overwriting the contents of +// the THUNK with slop! Perhaps this never worked??? --SDM +// The problem is that with eager-black-holing we currently perform +// the black-holing operation at the *beginning* of the basic block, +// when we still need the contents of the thunk. +// Perhaps the thing to do is to overwrite it at the *end* of the +// basic block, when we've already sucked out the thunk's contents? -- SLPJ +// // Todo: maybe use SET_HDR() and remove LDV_recordCreate()? // # define UPD_BH_UPDATABLE(info) \ @@ -464,8 +472,6 @@ EXTFUN_RTS(stg_gen_block); # define UPD_BH_SINGLE_ENTRY(thunk) /* nothing */ #endif /* EAGER_BLACKHOLING */ -#define UPD_FRAME_UPDATEE(p) ((P_)(((StgUpdateFrame *)(p))->updatee)) - /* ----------------------------------------------------------------------------- Moving Floats and Doubles