aboutsummaryrefslogtreecommitdiff
path: root/contrib/bug216610/go/fibber/fibs_linux_amd64.s
blob: 5992d096ae40dbc10547cd78a348dc53c4d66e97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// To transition from a Go call to a C function call, we are skating
// on really thin ice... Ceveat Emptor!
//
// Ref:
//   https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/home
//
// This is not strictly needed, but it makes gdb debugging less
// confusing because spacer ends up being an alias for the TEXT
// section start.
TEXT ·spacer(SB),$0
	RET

#define RINDEX(n) (8*n)

// Header to this function wrapper is the last time we can voluntarily
// yield to some other goroutine.
TEXT ·syso(SB),$0-16
	MOVQ cFn+RINDEX(0)(FP), SI
	MOVQ state+RINDEX(1)(FP), DI
	CALL *SI
	RET