aboutsummaryrefslogtreecommitdiff
path: root/src/os/executable_sysctl.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2023-11-15 13:38:06 -0800
committerKeith Randall <khr@golang.org>2024-11-18 18:43:25 +0000
commit5a0f2a7a7c5658f4f3065c265cee61ec1bde9691 (patch)
tree7252ff8068e5573b0205d38f83cc0e126d92bf1c /src/os/executable_sysctl.go
parentd4b0bd28eef0a212930fb196230171a9f11e5ec4 (diff)
downloadgo-5a0f2a7a7c5658f4f3065c265cee61ec1bde9691.tar.xz
cmd/compile: remove gc programs from stack frame objects
This is a two-pronged approach. First, try to keep large objects off the stack frame. Second, if they do manage to appear anyway, use straight bitmasks instead of gc programs. Generally probably a good idea to keep large objects out of stack frames. But particularly keeping gc programs off the stack simplifies runtime code a bit. This CL sets the limit of most stack objects to 131072 bytes (on 64-bit archs). There can still be large objects if allocated by a late pass, like order, or they are required to be on the stack, like function arguments. But the size for the bitmasks for these objects isn't a huge deal, as we have already have (probably several) bitmasks for the frame liveness map itself. Change-Id: I6d2bed0e9aa9ac7499955562c6154f9264061359 Reviewed-on: https://go-review.googlesource.com/c/go/+/542815 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/os/executable_sysctl.go')
0 files changed, 0 insertions, 0 deletions