-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
CherryPickApprovedUsed during the release process for point releasesUsed during the release process for point releasesFrozenDueToAgerelease-blocker
Milestone
Description
@randall77 requested issue #40629 to be considered for backport to the next 1.14 minor release.
This patch:
+++ b/src/cmd/compile/internal/ssa/func.go @@ -274,6 +274,9 @@ func (f *Func) freeValue(v *Value) { if len(v.Args) != 0 { f.Fatalf("value %s still has %d args", v, len(v.Args)) } + if v == f.LastDeferExit { + println("FREEING THE LASTDEFEREXIT") + } // Clear everything but ID (which we reuse). id := v.IDtriggers a bunch of times during make.bash. Both 1.14.2 and tip. Looks like we need to fix this for the release - I think we're just getting lucky that we don't stack copy or gc trace such cases normally (stack copy is only likely to happen with an unrecovered panic?), or that the random other instruction's liveness map is correct (or good enough).
@gopherbot please open a backport issue for 1.14.
1.13 is ok, as open-coded defers were released for 1.14.
Metadata
Metadata
Assignees
Labels
CherryPickApprovedUsed during the release process for point releasesUsed during the release process for point releasesFrozenDueToAgerelease-blocker