Update to go1.25.0
This commit is contained in:
@@ -410,9 +410,16 @@ TEXT racecall<>(SB), NOSPLIT, $0-0
|
||||
BL runtime·save_g(SB) // Save g for callbacks.
|
||||
MOVD R15, R7 // Save SP.
|
||||
MOVD g_m(g), R8 // R8 = thread.
|
||||
MOVD m_g0(R8), R8 // R8 = g0.
|
||||
CMPBEQ R8, g, call // Already on g0?
|
||||
MOVD (g_sched+gobuf_sp)(R8), R15 // Switch SP to g0.
|
||||
|
||||
// Switch to g0 stack if we aren't already on g0 or gsignal.
|
||||
MOVD m_gsignal(R8), R9
|
||||
CMPBEQ R9, g, call
|
||||
|
||||
MOVD m_g0(R8), R9
|
||||
CMPBEQ R9, g, call
|
||||
|
||||
MOVD (g_sched+gobuf_sp)(R9), R15 // Switch SP to g0.
|
||||
|
||||
call: SUB $160, R15 // Allocate C frame.
|
||||
BL R1 // Call C code.
|
||||
MOVD R7, R15 // Restore SP.
|
||||
|
||||
Reference in New Issue
Block a user