diff options
| -rw-r--r-- | compiler/ghci/ByteCodeItbls.lhs | 34 | ||||
| -rw-r--r-- | rts/RtsStartup.c | 2 |
2 files changed, 17 insertions, 19 deletions
diff --git a/compiler/ghci/ByteCodeItbls.lhs b/compiler/ghci/ByteCodeItbls.lhs index 1783125b0e..2dd1d11ea6 100644 --- a/compiler/ghci/ByteCodeItbls.lhs +++ b/compiler/ghci/ByteCodeItbls.lhs @@ -198,13 +198,6 @@ mkJumpToAddr a in insnBytes -byte0, byte1, byte2, byte3 - :: (Integral w, Bits w) => w -> Word8 -byte0 w = fromIntegral w -byte1 w = fromIntegral (w `shiftR` 8) -byte2 w = fromIntegral (w `shiftR` 16) -byte3 w = fromIntegral (w `shiftR` 24) - #elif x86_64_TARGET_ARCH -- Generates: -- jmpq *.L1(%rip) @@ -227,17 +220,6 @@ mkJumpToAddr a in insnBytes -byte0, byte1, byte2, byte3, byte4, byte5, byte6, byte7 - :: (Integral w, Bits w) => w -> Word8 -byte0 w = fromIntegral w -byte1 w = fromIntegral (w `shiftR` 8) -byte2 w = fromIntegral (w `shiftR` 16) -byte3 w = fromIntegral (w `shiftR` 24) -byte4 w = fromIntegral (w `shiftR` 32) -byte5 w = fromIntegral (w `shiftR` 40) -byte6 w = fromIntegral (w `shiftR` 48) -byte7 w = fromIntegral (w `shiftR` 56) - #elif alpha_TARGET_ARCH type ItblCode = Word32 mkJumpToAddr a @@ -255,6 +237,22 @@ mkJumpToAddr a = undefined #endif +#if defined(i386_TARGET_ARCH) || defined(x86_64_TARGET_ARCH) +byte0, byte1, byte2, byte3 :: (Integral w, Bits w) => w -> Word8 +byte0 w = fromIntegral w +byte1 w = fromIntegral (w `shiftR` 8) +byte2 w = fromIntegral (w `shiftR` 16) +byte3 w = fromIntegral (w `shiftR` 24) +#endif + +#if defined(x86_64_TARGET_ARCH) +byte4, byte5, byte6, byte7 :: (Integral w, Bits w) => w -> Word8 +byte4 w = fromIntegral (w `shiftR` 32) +byte5 w = fromIntegral (w `shiftR` 40) +byte6 w = fromIntegral (w `shiftR` 48) +byte7 w = fromIntegral (w `shiftR` 56) +#endif + #ifndef __HADDOCK__ -- entry point for direct returns for created constr itbls foreign import ccall "&stg_interp_constr_entry" stg_interp_constr_entry :: Ptr () diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index c09d5ed61d..c451292012 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -431,7 +431,7 @@ static void flushStdHandles(void) { Capability *cap; cap = rts_lock(); - rts_evalIO(cap, flushStdHandles_closure, NULL); + cap = rts_evalIO(cap, flushStdHandles_closure, NULL); rts_unlock(cap); } |
