mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
55 lines
4.3 KiB
Plaintext
55 lines
4.3 KiB
Plaintext
function local variables
|
|
|
|
+----------+ +---------------+ +--------------------+
|
|
| | | | | |
|
|
| cRED | a-32(SP) +-------| var a bool |<--------=->| var a bool |
|
|
| | | | cBLU | | cBLU |
|
|
| | | +---------------+ +--------------------+
|
|
| | | | | | |
|
|
| | b-30(SP) +-------| var b int16 |<--------=->| var b int16 |
|
|
| | : | cPNK | | cPNK |
|
|
| | | +---------------+ +--------------------+
|
|
| | | | | | |
|
|
| | | | var c []byte |<-----+--=->| var c.Data uintptr |----+
|
|
| | | | cGRE | | | cGRE | |
|
|
| stack | | +---------------+ | +--------------------+ |
|
|
| | | | | | |
|
|
| | | +--=->| var c.Len int |----+
|
|
| | | | | cGRE | |
|
|
| | | | +--------------------+ |
|
|
| | | | | | |
|
|
| | | +--=->| var c.Cap int |--==+
|
|
---=- +----------+ | | cGRE | |
|
|
^ | | | +--------------------+ |
|
|
: | | | |
|
|
| | arguments| | |
|
|
argsize| returns | | |
|
|
: | | | local_top-0(SP)---=-+ |
|
|
v | cYEL |arg+0(FP) | | |
|
|
--=-- +----------+ <----------=--- +-------------------------------------+ <-+ |
|
|
^ | cGRE |var-0(SP) | | cGRE | |
|
|
: | local | | | c.Cap | |
|
|
| | | | | 64bit | |
|
|
| | | | +-------------------------------------+ <-=-------------+c.Cap-8(SP)
|
|
| | | | | cGRE | |
|
|
| | | | | c.Len | |
|
|
| | | | | 64bit | |
|
|
| | | | +-------------------------------------+ <-=-------------+c.Len-16(SP)
|
|
| | | | | cGRE | |
|
|
framesize| | | | c.Data | |
|
|
| | | | | 64bit | |
|
|
| | | | +----+----+--------+------------------+ <-=-------------+c.Data-24(SP)
|
|
| | | : |cBLU|cAAA|cPNK |cAAA |
|
|
| | | +----> | a | | b | |
|
|
| | | |8bit|8bit| 16bit | 32bit |
|
|
| +----------+ <----------=--- +----+----+--------+------------------+ <--=a-32(SP)
|
|
| |for callee| var-32(SP) ^ ^
|
|
| | | | | |
|
|
: | | | | +-=-b-30(SP)
|
|
v |cPNK v | |
|
|
-=-- +----------+0(SP) +-=-a-32(SP)
|
|
| unused |
|
|
| cAAA |
|
|
+----------+
|
|
|