]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: add workaround to "throw" pending resolution of issue #67274
authorThan McIntosh <thanm@google.com>
Thu, 9 May 2024 20:02:30 +0000 (20:02 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 9 May 2024 20:33:37 +0000 (20:33 +0000)
Temporarily mark the function runtime.throw as "go:noinline" for the
time being to work around problems introduced by CL 581215. We do not
ordinarily inline runtime.throw unless the build is beind done with an
elevated inline budget (e.g. "-gcflags=-l=4"), so this change should
only have an effect for those special builds.

Updates #67274.

Change-Id: I3811913b8d441e0ddb1d4c7d7297ef23555582a2
Reviewed-on: https://go-review.googlesource.com/c/go/+/584616
Reviewed-by: Alan Donovan <adonovan@google.com>
Auto-Submit: Than McIntosh <thanm@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
src/runtime/panic.go

index 27fcf73ff49883e003ab4962d50efa6795aa6acd..122fc30df26fa94f16ec2c91adef3a9548d2e0bb 100644 (file)
@@ -1010,7 +1010,11 @@ func sync_fatal(s string) {
 // throw should be used for runtime-internal fatal errors where Go itself,
 // rather than user code, may be at fault for the failure.
 //
+// NOTE: temporarily marked "go:noinline" pending investigation/fix of
+// issue #67274, so as to fix longtest builders.
+//
 //go:nosplit
+//go:noinline
 func throw(s string) {
        // Everything throw does should be recursively nosplit so it
        // can be called even when it's unsafe to grow the stack.