aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/preempt.go
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2023-08-07 18:11:17 -0400
committerGopher Robot <gobot@golang.org>2023-08-07 22:27:50 +0000
commit5f674f64e4e3f79adf45d301bcbc16a8a3a82b1d (patch)
treeaeface59785ddb96aaa11261a5016ca632367fb7 /src/runtime/preempt.go
parent008ab9adb8382a274ba25c005a046b912af94809 (diff)
downloadgo-5f674f64e4e3f79adf45d301bcbc16a8a3a82b1d.tar.xz
Revert "runtime: drop stack-allocated pcvalueCaches"
This reverts CL 515277 Change-Id: Ie10378eed4993cb69f4a9b43a38af32b9d743155 Reviewed-on: https://go-review.googlesource.com/c/go/+/516855 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Austin Clements <austin@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/runtime/preempt.go')
-rw-r--r--src/runtime/preempt.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/preempt.go b/src/runtime/preempt.go
index 82d85cd707..76d8ba4cdf 100644
--- a/src/runtime/preempt.go
+++ b/src/runtime/preempt.go
@@ -385,7 +385,7 @@ func isAsyncSafePoint(gp *g, pc, sp, lr uintptr) (bool, uintptr) {
// Not Go code.
return false, 0
}
- if (GOARCH == "mips" || GOARCH == "mipsle" || GOARCH == "mips64" || GOARCH == "mips64le") && lr == pc+8 && funcspdelta(f, pc) == 0 {
+ if (GOARCH == "mips" || GOARCH == "mipsle" || GOARCH == "mips64" || GOARCH == "mips64le") && lr == pc+8 && funcspdelta(f, pc, nil) == 0 {
// We probably stopped at a half-executed CALL instruction,
// where the LR is updated but the PC has not. If we preempt
// here we'll see a seemingly self-recursive call, which is in
@@ -414,7 +414,7 @@ func isAsyncSafePoint(gp *g, pc, sp, lr uintptr) (bool, uintptr) {
return false, 0
}
// Check the inner-most name
- u, uf := newInlineUnwinder(f, pc)
+ u, uf := newInlineUnwinder(f, pc, nil)
name := u.srcFunc(uf).name()
if hasPrefix(name, "runtime.") ||
hasPrefix(name, "runtime/internal/") ||