From 4e6a9322808db1adaaeb850f6aabcfbb08d90640 Mon Sep 17 00:00:00 2001 From: sof Date: Sun, 5 Oct 1997 20:41:52 +0000 Subject: [PATCH] [project @ 1997-10-05 20:41:52 by sof] Added (inactive) x86 code for storing away C stack pointer in TSOs reg table --- ghc/includes/StgRegs.lh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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; -- 1.7.10.4