diff options
author | Edward Z. Yang <ezyang@mit.edu> | 2011-05-15 13:58:42 +0100 |
---|---|---|
committer | Edward Z. Yang <ezyang@mit.edu> | 2011-05-15 14:41:24 +0100 |
commit | ee5addccd1929a7368a39b2c88d1b77f0bc8fb73 (patch) | |
tree | b000ebc489ddfa984064d6a25d88ce8dcc1abdbb /compiler/cmm/OldCmm.hs | |
parent | 1dc458bf7ee5ca2749e62397617af291dadc891d (diff) | |
download | haskell-ee5addccd1929a7368a39b2c88d1b77f0bc8fb73.tar.gz |
Work around lack of saving volatile registers from unsafe foreign calls.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Diffstat (limited to 'compiler/cmm/OldCmm.hs')
-rw-r--r-- | compiler/cmm/OldCmm.hs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/cmm/OldCmm.hs b/compiler/cmm/OldCmm.hs index 57d458cc95..f5c08172d7 100644 --- a/compiler/cmm/OldCmm.hs +++ b/compiler/cmm/OldCmm.hs @@ -144,12 +144,14 @@ data CmmStmt -- Old-style | CmmStore CmmExpr CmmExpr -- Assign to memory location. Size is -- given by cmmExprType of the rhs. - | CmmCall -- A call (forign, native or primitive), with + | CmmCall -- A call (foreign, native or primitive), with CmmCallTarget HintedCmmFormals -- zero or more results HintedCmmActuals -- zero or more arguments CmmSafety -- whether to build a continuation CmmReturnInfo + -- Some care is necessary when handling the arguments of these, see + -- [Register parameter passing] and the hack in cmm/CmmOpt.hs | CmmBranch BlockId -- branch to another BB in this fn |