Note [GHCi TupleInfo]

GHC/ByteCode/Types.hs:115 compiler

This contains the data we need for passing unboxed tuples between
bytecode and native code

In general we closely follow the native calling convention that
GHC uses for unboxed tuples, but we don't use any registers in
bytecode. All tuple elements are expanded to use a full register
or a full word on the stack.

The position of tuple elements that are returned on the stack in
the native calling convention is unchanged when returning the same
tuple in bytecode.

The order of the remaining elements is determined by the register in
which they would have been returned, rather than by their position in
the tuple in the Haskell source code. This makes jumping between bytecode
and native code easier: A map of live registers is enough to convert the
tuple.

See GHC.StgToByteCode.layoutTuple for more details.

References 0

This Note does not link to any other.

Referenced by 2