-
Edward Z. Yang authored
Previously, on register-deficient architectures like x86-32, the new code generator would emit code for calls to stg_gc_l1, stg_gc_d1 and stg_gc_f1 that pushed their single argument on to the stack, while the functions themselves expected the argument to live in L1, D1 and F1 (respectively). This was because cmmCall with the GC calling convention allocated real registers, not virtual registers. This patch modifies the code for assigning registers/stack slots to use the right calling convention for GC and adds an assertion to ensure it did it properly.
4c53d93a