aboutsummaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorKeith Randall <khr@google.com>2019-03-06 14:45:47 -0800
committerKeith Randall <khr@golang.org>2019-03-07 00:06:12 +0000
commit9dc3b8b722ec93a3cd16742764a29cb3f908edbe (patch)
tree88fb0fdc69cd5f1dfa503cd455f5a420bdd95f1c /src/database
parente269f4ce01c458b53975fe666261b4be13160773 (diff)
downloadgo-9dc3b8b722ec93a3cd16742764a29cb3f908edbe.tar.xz
reflect: fix more issues with StructOf GC programs
First the insidious bug: var n uintptr for n := elemPtrs; n > 120; n -= 120 { prog = append(prog, 120) prog = append(prog, mask[:15]...) mask = mask[15:] } prog = append(prog, byte(n)) prog = append(prog, mask[:(n+7)/8]...) The := breaks this code, because the n after the loop is always 0! We also do need to handle field padding correctly. In particular the old padding code doesn't correctly handle fields that are not a multiple of a pointer in size. Fixes #30606. Change-Id: Ifcab9494dc25c20116753c5d7e0145d6c2053ed8 Reviewed-on: https://go-review.googlesource.com/c/go/+/165860 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/database')
0 files changed, 0 insertions, 0 deletions