其中plan9汇编格式可以参阅:http://plan9.bell-labs.com/sys/doc/asm.html
其中像与操作系统内核交互层都使用了汇编,是为了效率考虑。
跟踪发现运行时入口放在rt0_xxx_yyy.s(xxx表示操作系统,yyy表示cpu体系结构)的文件里:
因为自己比较关注linux-amd64,所以将会按照这个平台分支探究。
大体调用流程如下图:
在rt0_linux_amd64.s里将会启动一个main(argc, argv)的函数,main调用asm_amd64.s里的_rt0_go。
而_rt0_go将会调用一些平台相对独立的运行时初始化。也从此进入了go运行时调度。