func Swap(a, b int) (int, int) +----------+ | | | stack | | cRED | call frame +----------+ +-----------+ <-=-arg+argsize(FP) | stack | <--------=- | argsize | <------------------------+argsize | | | cPNK | : |call frame| +-----------+ <-=-arg+0(FP) | | | | | cAAA | | | | | +-----------+ <-=-tmp-0(SP) | |cRED| | <--------=- | framesize | <---------+framesize | | v | | cRED | : | +----------+ <-=-0(SP) +-----------+ <-=-0(SP) | | | cAAA | | | | unused | | | | | | | +----------+ | | | cGRE | | | | heap | | | | | +------+------------+------------+---+------+ +----------+ | | | | | | | cBLU | +-----=- | TEXT | ·Swap(SB), | $framesize | - | 32 | | data | | | cYEL | cYEL | cRED | | cRED | +----------+ | +------+------------+------------+---+------+ | cYEL | <--+TEXT | | text | : +----------+ <--------------------------+SB