• Simon Marlow's avatar
    Remove use of R9, and fix associated bugs · 11b5ce55
    Simon Marlow authored
    We were passing the function address to stg_gc_prim_p in R9, which was
    wrong because the call was a high-level call and didn't declare R9 as
    a parameter.  Passing R9 as an argument is the right way, but
    unfortunately that exposed another bug: we were using the same macro
    in some low-level Cmm, where it is illegal to call functions with
    arguments (see Note [syntax of cmm files]).  So we now have low-level
    variants of STK_CHK() and STK_CHK_P() for use in low-level Cmm code.
Cmm.h 28.2 KB