diff --git a/ghc/runtime/c-as-asm/PerformIO.lhc b/ghc/runtime/c-as-asm/PerformIO.lhc index 198603559fdde0ae2546a2cb2b4c2e6670f9db14..35c5c2c94d19c53b83aa1f0faf471dac0af01171 100644 --- a/ghc/runtime/c-as-asm/PerformIO.lhc +++ b/ghc/runtime/c-as-asm/PerformIO.lhc @@ -118,8 +118,10 @@ STGFUN(startPerformIO) /* Save away C stack pointer so that we can restore it when we leave the Haskell world. */ +#if defined(CONCURRENT) && defined(i386_TARGET_ARCH) SpB -= BREL(1); *SpB = (W_)SAVE_esp; +#endif /* Put a World State Token on the B stack */ /* This is necessary because we've not unboxed it (to reveal a void) yet */