mirror of
https://github.com/golang/go
synced 2024-11-18 08:44:43 -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\""
|
CompilingRuntime bool "flag:\"+\" help:\"compiling runtime\""
|
||||||
|
|
||||||
// Longer names
|
// Longer names
|
||||||
ABIWrapLimit int "help:\"emit at most N ABI wrappers (for debugging)\""
|
|
||||||
AsmHdr string "help:\"write assembly header to `file`\""
|
AsmHdr string "help:\"write assembly header to `file`\""
|
||||||
Bench string "help:\"append benchmark times to `file`\""
|
Bench string "help:\"append benchmark times to `file`\""
|
||||||
BlockProfile string "help:\"write block profile to `file`\""
|
BlockProfile string "help:\"write block profile to `file`\""
|
||||||
|
@ -21,29 +21,6 @@ import (
|
|||||||
"cmd/internal/objabi"
|
"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
|
// symabiDefs and symabiRefs record the defined and referenced ABIs of
|
||||||
// symbols required by non-Go code. These are keyed by link symbol
|
// symbols required by non-Go code. These are keyed by link symbol
|
||||||
// name, where the local package prefix is always `"".`
|
// name, where the local package prefix is always `"".`
|
||||||
@ -199,7 +176,7 @@ func selectLSym(f *ir.Func, hasBody bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if needABIWrapper {
|
if needABIWrapper {
|
||||||
if !useABIWrapGen(f) {
|
if !objabi.Experiment.RegabiWrappers {
|
||||||
// Fallback: use alias instead. FIXME.
|
// Fallback: use alias instead. FIXME.
|
||||||
|
|
||||||
// These LSyms have the same name as the
|
// These LSyms have the same name as the
|
||||||
|
Loading…
Reference in New Issue
Block a user