X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FHeapStackCheck.hc;h=7baf7aaf61573c8cdb0821c8eefbd038679a3545;hb=50a70f642ca958cbb2dec99b0b0ae67120c9ffa9;hp=ff31c74651cdab4657a727b525e30ff63d2f7e86;hpb=456eca7317895df8193d83b986352b6238e3824d;p=ghc-hetmet.git diff --git a/ghc/rts/HeapStackCheck.hc b/ghc/rts/HeapStackCheck.hc index ff31c74..7baf7aa 100644 --- a/ghc/rts/HeapStackCheck.hc +++ b/ghc/rts/HeapStackCheck.hc @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: HeapStackCheck.hc,v 1.4 1999/03/16 13:20:15 simonm Exp $ + * $Id: HeapStackCheck.hc,v 1.6 1999/03/17 16:25:07 sewardj Exp $ * * (c) The GHC Team, 1998-1999 * @@ -798,6 +798,10 @@ FN_(stg_gen_hp) FE_ } +/* ----------------------------------------------------------------------------- + Yields + -------------------------------------------------------------------------- */ + FN_(stg_gen_yield) { FB_ @@ -806,10 +810,23 @@ FN_(stg_gen_yield) FE_ } +INFO_TABLE_SRT_BITMAP(stg_yield_noregs_info, stg_yield_noregs_ret, 0/*BITMAP*/, + 0/*SRT*/, 0/*SRT_OFF*/, 0/*SRT_LEN*/, + RET_SMALL, const, EF_, 0, 0); + +FN_(stg_yield_noregs_ret) +{ + FB_ + JMP_(ENTRY_CODE(Sp[0])); + FE_ +} + FN_(stg_yield_noregs) { FB_ - YIELD_GENERIC + Sp--; + Sp[0] = (W_)&stg_yield_noregs_info; + YIELD_GENERIC; FE_ } @@ -821,6 +838,10 @@ FN_(stg_yield_to_Hugs) FE_ } +/* ----------------------------------------------------------------------------- + Blocks + -------------------------------------------------------------------------- */ + FN_(stg_gen_block) { FB_