diff options
author | Simon Marlow <marlowsd@gmail.com> | 2013-07-24 12:49:58 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2013-07-24 14:30:35 +0100 |
commit | c23488590cd65fa584ddd648cdbab2fa13f5656b (patch) | |
tree | 499ed8a8b2cc3ec261f16df03f0c06b1e29aae49 /compiler/cmm/CmmCommonBlockElim.hs | |
parent | be89c675339982cb53a5e32d6d282410c9c50f7c (diff) | |
download | haskell-c23488590cd65fa584ddd648cdbab2fa13f5656b.tar.gz |
Fix a bug in stack layout with safe foreign calls (#8083)
We weren't properly tracking the number of stack arguments in the
continuation of a foreign call. It happened to work when the
continuation was not a join point, but when it was a join point we
were using the wrong amount of stack fixup.
Diffstat (limited to 'compiler/cmm/CmmCommonBlockElim.hs')
-rw-r--r-- | compiler/cmm/CmmCommonBlockElim.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/cmm/CmmCommonBlockElim.hs b/compiler/cmm/CmmCommonBlockElim.hs index 6312fb9c50..34e22cecfb 100644 --- a/compiler/cmm/CmmCommonBlockElim.hs +++ b/compiler/cmm/CmmCommonBlockElim.hs @@ -96,7 +96,7 @@ hash_block block = hash_node (CmmBranch _) = 23 -- NB. ignore the label hash_node (CmmCondBranch p _ _) = hash_e p hash_node (CmmCall e _ _ _ _ _) = hash_e e - hash_node (CmmForeignCall t _ _ _ _ _) = hash_tgt t + hash_node (CmmForeignCall t _ _ _ _ _ _) = hash_tgt t hash_node (CmmSwitch e _) = hash_e e hash_reg :: CmmReg -> Word32 |