]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/cgo/asm_loong64.s
runtime/cgo: store M for C-created thread in pthread key
[gostls13.git] / src / runtime / cgo / asm_loong64.s
index aea4f8e6b9c3588270ea884ba5e36527b18b1402..3b514ffc4a195345087621abb5c92e47e9475653 100644 (file)
@@ -5,6 +5,14 @@
 #include "textflag.h"
 #include "abi_loong64.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.