From: sof Date: Sun, 5 Oct 1997 20:41:52 +0000 (+0000) Subject: [project @ 1997-10-05 20:41:52 by sof] X-Git-Tag: Approx_2487_patches~1431 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=4e6a9322808db1adaaeb850f6aabcfbb08d90640;p=ghc-hetmet.git [project @ 1997-10-05 20:41:52 by sof] Added (inactive) x86 code for storing away C stack pointer in TSOs reg table --- diff --git a/ghc/includes/StgRegs.lh b/ghc/includes/StgRegs.lh index ddeebf3..f5664f9 100644 --- a/ghc/includes/StgRegs.lh +++ b/ghc/includes/StgRegs.lh @@ -45,6 +45,20 @@ void SaveAllStgRegs(STG_NO_ARGS) /* CurrentRegTable = BaseReg; */ # endif #endif +/* Hack!!! slam the current C stack pointer into the reg. table + in the event that we need to copy a chunk of the C stack + before entering Haskell via a stable pointer (contact + for (gruesome) details!) + + Only save this once. + + ToDo: support this across platforms. +*/ +#if 0 && defined(CONCURRENT) && defined(i386_TARGET_ARCH) + if (CurrentTSO != CurrentTSOinC) { + __asm__ volatile (" mov %%esp,%0" : "m=" (CurrentRegTable->rCstkptr)); + } +#endif #ifdef REG_R1 SAVE_R1 = R1;