• David Chase's avatar
    cmd/compile: add -smallframes gc flag for GC latency diagnosis · 037ac2bd
    David Chase authored
    Shrinks the size of things that can be stack allocated from
    10M to 128k for declared variables and from 64k to 16k for
    implicit allocations (new(T), &T{}, etc).
    
    Usage: "go build -gcflags -smallframes hello.go"
    
    An earlier GOEXPERIMENT version of this caused only one
    problem, when a gc-should-detect-oversize-stack test no
    longer had an oversized stack to detect.  The change was
    converted to a flag to make it easier to access (for
    diagnosing "long" GC-related single-thread pauses) and to
    remove interference with the test.
    
    Includes test to verify behavior.
    
    Updates #27732.
    
    Change-Id: I1255d484331e77185e07c78389a8b594041204c2
    Reviewed-on: https://go-review.googlesource.com/c/go/+/180817
    Run-TryBot: David Chase <drchase@google.com>
    Reviewed-by: default avatarKeith Randall <khr@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    037ac2bd
go.go 7.29 KB