mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-23 20:02:22 +00:00
31 lines
1.6 KiB
Plaintext
31 lines
1.6 KiB
Plaintext
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
|
|
|