X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FHeapStackCheck.hc;h=8d0c46a86a73486b5d34387af4439d08fd3610a3;hb=50027272414438955dbc41696541cbd25da55883;hp=1a30f44ec0074c9a836e8c9ad27c436d1293727a;hpb=1b28d4e1f43185ad8c8e7407c66413e1b358402b;p=ghc-hetmet.git diff --git a/ghc/rts/HeapStackCheck.hc b/ghc/rts/HeapStackCheck.hc index 1a30f44..8d0c46a 100644 --- a/ghc/rts/HeapStackCheck.hc +++ b/ghc/rts/HeapStackCheck.hc @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: HeapStackCheck.hc,v 1.11 2000/01/13 14:34:03 hwloidl Exp $ + * $Id: HeapStackCheck.hc,v 1.16 2001/03/23 16:36:21 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -7,6 +7,7 @@ * * ---------------------------------------------------------------------------*/ +#include "Stg.h" #include "Rts.h" #include "Storage.h" /* for CurrentTSO */ #include "StgRun.h" /* for StgReturn and register saving */ @@ -20,7 +21,7 @@ * * - If the context_switch flag is set, indicating that there are more * threads waiting to run, we yield to the scheduler - * (return ThreadYeilding). + * (return ThreadYielding). * * - If Hp > HpLim, we've had a heap check failure. This means we've * come to the end of the current heap block, so we try to chain @@ -64,7 +65,7 @@ R1.i = StackOverflow; \ } \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadRunGHC; \ + CurrentTSO->what_next = ThreadRunGHC; \ JMP_(StgReturn); #define GC_ENTER \ @@ -84,45 +85,46 @@ R1.i = StackOverflow; \ } \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadEnterGHC; \ + CurrentTSO->what_next = ThreadEnterGHC; \ JMP_(StgReturn); #define HP_GENERIC \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadRunGHC; \ + CurrentTSO->what_next = ThreadRunGHC; \ R1.i = HeapOverflow; \ JMP_(StgReturn); #define STK_GENERIC \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadRunGHC; \ + CurrentTSO->what_next = ThreadRunGHC; \ R1.i = StackOverflow; \ JMP_(StgReturn); #define YIELD_GENERIC \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadRunGHC; \ + CurrentTSO->what_next = ThreadRunGHC; \ R1.i = ThreadYielding; \ JMP_(StgReturn); -#define YIELD_TO_HUGS \ +#define YIELD_TO_INTERPRETER \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadEnterHugs; \ + CurrentTSO->what_next = ThreadEnterInterp; \ R1.i = ThreadYielding; \ JMP_(StgReturn); #define BLOCK_GENERIC \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadRunGHC; \ + CurrentTSO->what_next = ThreadRunGHC; \ R1.i = ThreadBlocked; \ JMP_(StgReturn); #define BLOCK_ENTER \ SaveThreadState(); \ - CurrentTSO->whatNext = ThreadEnterGHC;\ + CurrentTSO->what_next = ThreadEnterGHC;\ R1.i = ThreadBlocked; \ JMP_(StgReturn); + /* ----------------------------------------------------------------------------- Heap Checks -------------------------------------------------------------------------- */ @@ -166,7 +168,7 @@ EXTFUN(stg_gc_enter_1_hponly) Sp[0] = R1.w; R1.i = HeapOverflow; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; JMP_(StgReturn); FE_ } @@ -289,7 +291,7 @@ EXTFUN(gran_yield_0) { FB_ SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -301,7 +303,7 @@ EXTFUN(gran_yield_1) Sp -= 1; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -316,7 +318,7 @@ EXTFUN(gran_yield_2) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -332,7 +334,7 @@ EXTFUN(gran_yield_3) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -349,7 +351,7 @@ EXTFUN(gran_yield_4) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -367,7 +369,7 @@ EXTFUN(gran_yield_5) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -386,7 +388,7 @@ EXTFUN(gran_yield_6) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -406,7 +408,7 @@ EXTFUN(gran_yield_7) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -427,7 +429,7 @@ EXTFUN(gran_yield_8) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadYielding; JMP_(StgReturn); FE_ @@ -441,7 +443,7 @@ EXTFUN(gran_block_1) Sp -= 1; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -456,7 +458,7 @@ EXTFUN(gran_block_2) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -472,7 +474,7 @@ EXTFUN(gran_block_3) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -489,7 +491,7 @@ EXTFUN(gran_block_4) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -507,7 +509,7 @@ EXTFUN(gran_block_5) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -526,7 +528,7 @@ EXTFUN(gran_block_6) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -546,7 +548,7 @@ EXTFUN(gran_block_7) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -567,7 +569,7 @@ EXTFUN(gran_block_8) Sp[1] = R2.w; Sp[0] = R1.w; SaveThreadState(); - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -596,7 +598,7 @@ EXTFUN(par_block_1_no_jump) EXTFUN(par_jump) { FB_ - CurrentTSO->whatNext = ThreadEnterGHC; + CurrentTSO->what_next = ThreadEnterGHC; R1.i = ThreadBlocked; JMP_(StgReturn); FE_ @@ -1176,11 +1178,11 @@ FN_(stg_yield_noregs) FE_ } -FN_(stg_yield_to_Hugs) +FN_(stg_yield_to_interpreter) { FB_ /* No need to save everything - no live registers */ - YIELD_TO_HUGS + YIELD_TO_INTERPRETER FE_ }