cmd/compile: use correct (field/method) node for position info
Position info for fields and methods was based on the wrong node in the new export format, leading to position info for empty file names and 0 line numbers. Use correct node now. Due to compact delta encoding, there is no difference in export format size. In fact, because encoding of "no line changed" is uncommon and thus a bit more expensive, in many cases the data is now slightly shorter. Stats for export data size (pachage, before, after, delta%): archive/tar 5128 5025 -1% archive/zip 7672 7515 -1% bufio 3486 3377 -2% bytes 4879 4821 0% cmd/addr2line 66 66 0% cmd/api 14033 13970 0% cmd/asm 60 60 0% cmd/asm/internal/arch 11659 11647 0% cmd/asm/internal/asm 13858 13766 0% cmd/asm/internal/flags 306 300 -1% cmd/asm/internal/lex 15684 15623 0% cmd/cgo 15383 15298 0% cmd/compile 63 63 0% cmd/compile/internal/amd64 838 838 0% cmd/compile/internal/arm 7333 7323 0% cmd/compile/internal/arm64 19953 19951 0% cmd/compile/internal/big 8943 9043 1% cmd/compile/internal/gc 57465 56801 0% cmd/compile/internal/mips64 645 645 0% cmd/compile/internal/ppc64 695 695 0% cmd/compile/internal/s390x 553 553 0% cmd/compile/internal/ssa 34883 34559 0% cmd/compile/internal/x86 744 744 0% cmd/cover 4961 4892 0% cmd/dist 145 145 0% cmd/doc 8891 8853 0% cmd/expdump 67 67 0% cmd/fix 422 406 -3% cmd/go 9951 9747 -1% cmd/gofmt 66 66 0% cmd/internal/bio 6378 6340 0% cmd/internal/gcprog 684 644 -5% cmd/internal/goobj 1276 1193 -6% cmd/internal/obj 12908 12551 -2% cmd/internal/obj/arm 10074 10053 0% cmd/internal/obj/arm64 17723 17699 0% cmd/internal/obj/mips 12573 12530 0% cmd/internal/obj/ppc64 15352 15330 0% cmd/internal/obj/s390x 18785 18769 0% cmd/internal/obj/x86 23586 23551 0% cmd/internal/objfile 17148 17359 1% cmd/internal/pprof/commands 1948 1930 0% cmd/internal/pprof/driver 11123 11095 0% cmd/internal/pprof/fetch 8931 8907 0% cmd/internal/pprof/plugin 15335 15221 0% cmd/internal/pprof/profile 8493 8370 0% cmd/internal/pprof/report 9273 9214 0% cmd/internal/pprof/svg 1589 1589 0% cmd/internal/pprof/symbolizer 8737 8727 0% cmd/internal/pprof/symbolz 8277 8346 1% cmd/internal/pprof/tempfile 4319 4317 0% cmd/internal/sys 622 603 -2% cmd/internal/unvendor/golang.org/x/arch/arm/armasm 79231 79148 0% cmd/internal/unvendor/golang.org/x/arch/x86/x86asm 11761 11726 0% cmd/link 60 60 0% cmd/link/internal/amd64 11190 11178 0% cmd/link/internal/arm 204 204 0% cmd/link/internal/arm64 210 210 0% cmd/link/internal/ld 60670 59758 -1% cmd/link/internal/mips64 213 213 0% cmd/link/internal/ppc64 211 211 0% cmd/link/internal/s390x 210 210 0% cmd/link/internal/x86 203 203 0% cmd/nm 57 57 0% cmd/objdump 64 64 0% cmd/pack 4968 4908 0% cmd/pprof 63 63 0% cmd/trace 828 782 -5% cmd/vet 13485 13503 0% cmd/vet/internal/whitelist 109 109 0% cmd/yacc 1315 1269 -2% compress/bzip2 2561 2506 -1% compress/flate 4906 4748 -2% compress/gzip 7788 7717 0% compress/lzw 406 402 0% compress/zlib 4739 4712 0% container/heap 265 257 -2% container/list 1506 1450 -3% container/ring 556 536 -3% context 3552 3527 0% crypto 864 834 -2% crypto/aes 313 311 0% crypto/cipher 1139 1138 0% crypto/des 317 315 0% crypto/dsa 5326 5304 0% crypto/ecdsa 6383 6364 0% crypto/elliptic 5983 6063 1% crypto/hmac 258 256 0% crypto/md5 722 700 -2% crypto/rand 4996 4993 0% crypto/rc4 327 317 -2% crypto/rsa 6763 6722 0% crypto/sha1 767 744 -2% crypto/sha256 348 348 0% crypto/sha512 487 487 0% crypto/subtle 620 620 0% crypto/tls 24344 24083 0% crypto/x509 17473 17524 0% crypto/x509/pkix 9682 9596 0% database/sql 8099 7831 -2% database/sql/driver 1556 1500 -3% debug/dwarf 9358 9010 -3% debug/elf 28226 27882 0% debug/gosym 2472 2333 -5% debug/macho 9032 8830 -1% debug/pe 8561 8328 -2% debug/plan9obj 1347 1295 -3% encoding 275 261 -4% encoding/ascii85 775 738 -4% encoding/asn1 1280 1246 -2% encoding/base32 1207 1146 -4% encoding/base64 1471 1407 -3% encoding/binary 2430 2386 -1% encoding/csv 4347 4280 -1% encoding/gob 13488 13387 0% encoding/hex 665 646 -2% encoding/json 11763 11592 0% encoding/pem 283 273 -3% encoding/xml 13804 13631 0% errors 166 162 -1% expvar 1193 1139 -4% flag 6896 6964 1% fmt 1247 1213 -2% go/ast 15797 15473 -1% go/build 6497 6336 -1% go/constant 1846 1820 0% go/doc 3942 3871 -1% go/format 1854 1850 0% go/importer 1702 1695 0% go/internal/gccgoimporter 2084 2063 0% go/internal/gcimporter 3236 3253 1% go/parser 7377 7371 0% go/printer 2480 2469 0% go/scanner 3806 3733 -1% go/token 3579 3523 -1% go/types 26514 26117 0% hash 323 295 -8% hash/adler32 568 554 -1% hash/crc32 843 825 -1% hash/crc64 758 739 -2% hash/fnv 1583 1530 -2% html 113 113 0% html/template 16957 16937 0% image 11470 11045 -3% image/color 2566 2503 -1% image/color/palette 165 163 0% image/draw 2543 2522 0% image/gif 3467 3439 0% image/internal/imageutil 3481 3479 0% image/jpeg 2725 2717 0% image/png 2702 2689 0% index/suffixarray 5802 5777 0% internal/race 274 274 0% internal/singleflight 756 718 -4% internal/syscall/windows/sysdll 162 162 0% internal/testenv 5288 5276 0% internal/trace 1853 1768 -4% io 3425 3349 -1% io/ioutil 4768 4756 0% log 4173 4224 1% log/syslog 5049 4996 0% math 4343 4343 0% math/big 8779 8817 0% math/cmplx 1580 1580 0% math/rand 944 982 4% mime 2313 2298 0% mime/multipart 5021 4922 -1% mime/quotedprintable 2049 2008 -1% net 19332 19090 0% net/http 50404 49542 -1% net/http/cgi 22533 22637 0% net/http/cookiejar 5488 5431 0% net/http/fcgi 20557 20512 0% net/http/httptest 30350 30255 0% net/http/httputil 24045 23964 0% net/http/internal 2579 2550 0% net/http/pprof 20307 20258 0% net/internal/socktest 2227 2159 -2% net/mail 5086 5054 0% net/rpc 28365 28208 0% net/rpc/jsonrpc 12805 12722 0% net/smtp 19975 19887 0% net/textproto 4558 4466 -1% net/url 1391 1326 -4% os 10372 10195 -1% os/exec 7814 7928 1% os/signal 239 237 0% os/user 735 717 -1% path 391 391 0% path/filepath 4136 4136 0% reflect 6258 5893 -5% regexp 5808 5623 -2% regexp/syntax 3118 3077 0% runtime 11685 10912 -6% runtime/cgo 18 18 0% runtime/debug 3320 3304 0% runtime/internal/atomic 728 728 0% runtime/internal/sys 2287 2287 0% runtime/pprof 611 587 -3% runtime/race 19 19 0% runtime/trace 145 143 0% sort 1229 1206 -1% strconv 1752 1744 0% strings 3809 3775 0% sync 1331 1306 -1% sync/atomic 1135 1130 0% syscall 46280 45722 0% testing 7558 7284 -3% testing/iotest 1122 1071 -4% testing/quick 5656 5609 0% text/scanner 3367 3312 -1% text/tabwriter 2810 2755 -1% text/template 15613 15595 0% text/template/parse 9499 9040 -4% time 5515 5395 -1% unicode 4357 4344 0% unicode/utf16 583 583 0% unicode/utf8 970 970 0% vendor/golang.org/x/net/http2/hpack 4105 4012 -1% average 1524284 1509610 0% Change-Id: Ibe1ce098c7c575965389c1cad368c62c2cea256a Reviewed-on: https://go-review.googlesource.com/22536 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Alan Donovan <adonovan@google.com>
Showing
Please register or sign in to comment