]> Cypherpunks repositories - gostls13.git/commit
runtime: call cgocallbackg indirectly
authorCherry Zhang <cherryyz@google.com>
Thu, 22 Apr 2021 15:12:21 +0000 (11:12 -0400)
committerCherry Zhang <cherryyz@google.com>
Thu, 22 Apr 2021 16:15:44 +0000 (16:15 +0000)
commitd3853fb4e6ee2b9f873ab2e41adc0e62a82e73e4
tree22dfb05ab32cc86240cb485bd28b2a427f8253d6
parentd5b2d809b09b5a7404ad334a5e56b2210a06254c
runtime: call cgocallbackg indirectly

cgocallback calls cgocallbackg after switching the stack. Call it
indirectly to bypass the linker's nosplit check.

Apparently (at least on Windows) cgocallbackg can use quite a bit
stack space in a nosplit chain. We have been running over the
nosplit limit, or very close to the limit. Since it switches
stack in cgocallback, it is not meaningful to count frames above
cgocallback and below cgocallbackg together. Bypass the check.

For #45658.

Change-Id: Ie22017e3f82d2c1fcc37336696f2d02757856399
Reviewed-on: https://go-review.googlesource.com/c/go/+/312669
Trust: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
src/runtime/asm_amd64.s