]> Cypherpunks.ru repositories - gostls13.git/commit
reflect: undo register count increments on register assignment failure
authorMichael Anthony Knyszek <mknyszek@google.com>
Tue, 30 Mar 2021 22:33:28 +0000 (22:33 +0000)
committerMichael Knyszek <mknyszek@google.com>
Thu, 1 Apr 2021 22:32:31 +0000 (22:32 +0000)
commit51cd074c59c770484e7db4788d968c408a278607
tree920a01705e755f4df0d2a59d17e020494695c35a
parent45ca9ef5c1235a80ceffca459cbf1bd47032b35f
reflect: undo register count increments on register assignment failure

Currently when register assignment fails we roll back all the abiParts
that were generated in the process. However, the total number of
registers also increases, but does not get rolled back. The result is
a very incorrect register assignment.

For #40724.
For #44816.

Change-Id: I1934ea5f95f7608ff2067166255099dbc9135e8c
Reviewed-on: https://go-review.googlesource.com/c/go/+/306109
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/reflect/abi.go
src/reflect/abi_test.go