On 27 May 2010 01:26, Thomas Schilling <nomin...@googlemail.com> wrote: > Every basic block that performs some allocation is preceded by a heap > check. If this test fails, a special RTS routine is invoked. I'm not > sure which one this is. Simon can tell you.
AFAIK it is stg_gc_fun. Sample code: """ clE: Hp = Hp + 20; if (Hp > HpLim) goto clH; ... clI: R1 = Main_buildzudata_closure; jump stg_gc_fun (); clH: HpAlloc = 20; goto clI; """ (So R1 = Main_buildzudata_closure is the address to return to after GCing and obtaining HpAlloc = 20 words) Cheers, Max _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc