aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/cgo/asm_386.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/cgo/asm_386.s')
-rw-r--r--src/runtime/cgo/asm_386.s12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/runtime/cgo/asm_386.s b/src/runtime/cgo/asm_386.s
index 7293c20bf8..2e7e9512e2 100644
--- a/src/runtime/cgo/asm_386.s
+++ b/src/runtime/cgo/asm_386.s
@@ -5,8 +5,9 @@
#include "textflag.h"
// Called by C code generated by cmd/cgo.
-// func crosscall2(fn func(a unsafe.Pointer, n int32, ctxt uintptr), a unsafe.Pointer, n int32, ctxt uintptr)
-// Saves C callee-saved registers and calls fn with three arguments.
+// func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
+// Saves C callee-saved registers and calls cgocallback with three arguments.
+// fn is the PC of a func(a unsafe.Pointer) function.
TEXT crosscall2(SB),NOSPLIT,$28-16
MOVL BP, 24(SP)
MOVL BX, 20(SP)
@@ -15,12 +16,11 @@ TEXT crosscall2(SB),NOSPLIT,$28-16
MOVL ctxt+12(FP), AX
MOVL AX, 8(SP)
- MOVL n+8(FP), AX
- MOVL AX, 4(SP)
MOVL a+4(FP), AX
- MOVL AX, 0(SP)
+ MOVL AX, 4(SP)
MOVL fn+0(FP), AX
- CALL AX
+ MOVL AX, 0(SP)
+ CALL runtime·cgocallback(SB)
MOVL 12(SP), DI
MOVL 16(SP), SI