github.com/suiyunonghen/DxCommonLib@v0.5.3/system/goid/goid_amd64.s (about) 1 #include "textflag.h" 2 #include "go_tls.h" 3 4 5 // func getg() interface{} 6 TEXT ·getG(SB), NOSPLIT, $32-16 7 // get runtime.g 8 get_tls(CX) 9 MOVQ g(CX), AX 10 // get runtime.g type 11 MOVQ $type·runtime·g(SB), BX 12 13 // convert (*g) to interface{} 14 MOVQ AX, 8(SP) 15 MOVQ BX, 0(SP) 16 CALL ·runtime_convT2E_hack(SB) 17 MOVQ 16(SP), AX 18 MOVQ 24(SP), BX 19 20 // return interface{} 21 MOVQ AX, ret+0(FP) 22 MOVQ BX, ret+8(FP) 23 RET 24 25 // func GetGoID() int64 26 TEXT ·GetGoID(SB), NOSPLIT, $0-8 27 get_tls(CX) 28 MOVQ g(CX), AX 29 MOVQ ·offset(SB), BX 30 LEAQ 0(AX)(BX*1), DX 31 MOVQ (DX), AX 32 MOVQ AX, ret+0(FP) 33 RET