]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/cgo/asm_mips64x.s
runtime/cgo: store M for C-created thread in pthread key
[gostls13.git] / src / runtime / cgo / asm_mips64x.s
index 904f781d87eaf07bf5ab326d3446056e3924731b..0a8fbbbef05d11e2f68b72b7ce56746dbafa8fec 100644 (file)
@@ -6,6 +6,14 @@
 
 #include "textflag.h"
 
+// Set the x_crosscall2_ptr C function pointer variable point to crosscall2.
+// It's such a pointer chain: _crosscall2_ptr -> x_crosscall2_ptr -> crosscall2
+TEXT ·set_crosscall2(SB),NOSPLIT,$0-0
+       MOVV    _crosscall2_ptr(SB), R5
+       MOVV    $crosscall2(SB), R6
+       MOVV    R6, (R5)
+       RET
+
 // Called by C code generated by cmd/cgo.
 // func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
 // Saves C callee-saved registers and calls cgocallback with three arguments.