- - for an unboxed tuple with n components, we rearrange the components
- with pointers first followed by non-pointers. (NB: not done yet)
-
- - The first k components are allocated registers, where k is the
- number of components that will fit in real registers.
-
- - The rest are placed on the stack, with space left for tagging
- of the non-pointer block if necessary.
-
- - On failure of a heap check:
- - the tag is filled in if necessary,
- - we load Ri with the address of the continuation,
- where i is the lowest unused vanilla register.
- - jump to 'stg_gc_ut_x_y' where x is the number of pointer
- registers and y the number of non-pointers.
- - if the required canned sequence isn't available, it will
- have to be generated at compile-time by the code
- generator (this will probably happen if there are
- floating-point values, for instance).
-
- For now, just deal with R1, hence R2 contains the sequel address.
- -------------------------------------------------------------------------- */