diff --git a/ghc/includes/StgMacros.h b/ghc/includes/StgMacros.h index efa11fc83730ad2dbfdafceb0da6a462faa60dad..3c4b4512dbf664765a02b36ee9ec9fbb20b1d2dc 100644 --- a/ghc/includes/StgMacros.h +++ b/ghc/includes/StgMacros.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StgMacros.h,v 1.22 2000/03/15 17:36:02 simonmar Exp $ + * $Id: StgMacros.h,v 1.23 2000/03/16 12:40:40 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -729,13 +729,11 @@ LoadThreadState (void) Module initialisation -------------------------------------------------------------------------- */ -extern F_ *init_stack; - #define PUSH_INIT_STACK(reg_function) \ - *(init_stack++) = (F_)reg_function + *(Sp++) = (W_)reg_function #define POP_INIT_STACK() \ - *(--init_stack) + *(--Sp) #define START_MOD_INIT(reg_mod_name) \ static int _module_registered = 0; \ diff --git a/ghc/rts/StgStartup.hc b/ghc/rts/StgStartup.hc index 997277ae0918125c222ced9432b57d001475b46d..cb8beca5e82c741d4a4bc641f77883faf16e22b2 100644 --- a/ghc/rts/StgStartup.hc +++ b/ghc/rts/StgStartup.hc @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StgStartup.hc,v 1.7 2000/03/09 11:49:34 simonmar Exp $ + * $Id: StgStartup.hc,v 1.8 2000/03/16 12:40:40 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -137,6 +137,8 @@ STGFUN(stg_enterStackTop) #ifndef INTERPRETER +extern F_ *init_stack; + STGFUN(stg_init_ret) { FB_ @@ -149,6 +151,7 @@ STGFUN(stg_init) EF_(__init_Main); EF_(__init_Prelude); FB_ + Sp = (P_)init_stack; PUSH_INIT_STACK(stg_init_ret); PUSH_INIT_STACK(__init_Prelude); JMP_(__init_Main);