mirror of
https://github.com/golang/go
synced 2024-11-26 07:47:57 -07:00
cmd/compile: eliminate -abiwraplimit
We haven't needed this debugging flag in a while and it's going to complicate a change to how to generate wrappers. Eliminate it in favor of just using the objabi.Experiment.RegabiWrappers global toggle. Updates #40724. Change-Id: Ieda660ea7a0167ae4e881b396ef556d7c962fe4c Reviewed-on: https://go-review.googlesource.com/c/go/+/305273 Trust: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
1e8fff0f7b
commit
feb844f1ea
@ -82,7 +82,6 @@ type CmdFlags struct {
|
||||
CompilingRuntime bool "flag:\"+\" help:\"compiling runtime\""
|
||||
|
||||
// Longer names
|
||||
ABIWrapLimit int "help:\"emit at most N ABI wrappers (for debugging)\""
|
||||
AsmHdr string "help:\"write assembly header to `file`\""
|
||||
Bench string "help:\"append benchmark times to `file`\""
|
||||
BlockProfile string "help:\"write block profile to `file`\""
|
||||
|
@ -21,29 +21,6 @@ import (
|
||||
"cmd/internal/objabi"
|
||||
)
|
||||
|
||||
// useNewABIWrapGen returns TRUE if the compiler should generate an
|
||||
// ABI wrapper for the function 'f'.
|
||||
func useABIWrapGen(f *ir.Func) bool {
|
||||
if !objabi.Experiment.RegabiWrappers {
|
||||
return false
|
||||
}
|
||||
|
||||
// Support limit option for bisecting.
|
||||
if base.Flag.ABIWrapLimit == 1 {
|
||||
return false
|
||||
}
|
||||
if base.Flag.ABIWrapLimit < 1 {
|
||||
return true
|
||||
}
|
||||
base.Flag.ABIWrapLimit--
|
||||
if base.Debug.ABIWrap != 0 && base.Flag.ABIWrapLimit == 1 {
|
||||
fmt.Fprintf(os.Stderr, "=-= limit reached after new wrapper for %s\n",
|
||||
f.LSym.Name)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// symabiDefs and symabiRefs record the defined and referenced ABIs of
|
||||
// symbols required by non-Go code. These are keyed by link symbol
|
||||
// name, where the local package prefix is always `"".`
|
||||
@ -199,7 +176,7 @@ func selectLSym(f *ir.Func, hasBody bool) {
|
||||
}
|
||||
|
||||
if needABIWrapper {
|
||||
if !useABIWrapGen(f) {
|
||||
if !objabi.Experiment.RegabiWrappers {
|
||||
// Fallback: use alias instead. FIXME.
|
||||
|
||||
// These LSyms have the same name as the
|
||||
|
Loading…
Reference in New Issue
Block a user