- 09 Oct, 2018 10 commits
-
-
Austin Clements authored
For unclear reasons, cacheSpan and uncacheSpan compute the number of elements in a span by dividing its size by the element size. This number is simply available in the mspan structure, so just use it. Change-Id: If2e5de6ecec39befd3324bf1da4a275ad000932f Reviewed-on: https://go-review.googlesource.com/c/138656 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Lazy mcache flushing (golang.org/cl/134783) made it so that moving a span from an mcache to an mcentral was sometimes responsible for sweeping the span. However, it did a "preserving" sweep, which meant it retained ownership, even if the sweeper swept all objects in the span. As a result, we could put a completely unused span back in the mcentral. Fix this by first taking back ownership of the span into the mcentral and moving it to the right mcentral list, and then doing a non-preserving sweep. The non-preserving sweep will move the span to the heap if it sweeps all objects. Change-Id: I244b1893b44b8c00264f0928ac9239449775f617 Reviewed-on: https://go-review.googlesource.com/c/140597 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
-
Austin Clements authored
Lazy mcache flushing (golang.org/cl/134783) introduced a second value for sweepgen that indicates a span has been swept. I missed adding this case to a sanity check in sweepone, so it can now panic if it finds a non-in-use spans that's been swept *and* put in an mcache. Fix this by adding the second sweepgen case to this check. Fixes #27997. Change-Id: I568d9f2cc8923396ca897a37d154cd2c859c7bef Reviewed-on: https://go-review.googlesource.com/c/140697 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Since atomic.Or8 is now an intrinsic (and has been for some time), markBits.setMarked is inlinable. Undo the manual inlining of it. Change-Id: I8e37ccf0851ad1d3088d9c8ae0f6f0c439d7eb2d Reviewed-on: https://go-review.googlesource.com/c/138659 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
freeSpan currently takes a mysterious "acct int32" argument. This is really just a boolean and actually just needs to match the "large" argument to alloc in order to balance out accounting. To make this clearer, replace acct with a "large bool" argument that must match the call to mheap.alloc. Change-Id: Ibc81faefdf9f0583114e1953fcfb362e9c3c76de Reviewed-on: https://go-review.googlesource.com/c/138655 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
* Rewrite the flushing code to not use a persistent goroutine, which also simplifies testing. * Define the meaning of a negative flush interval. Its meaning doesn't change, but now it's locked in, and then we can use it to optimize the performance of the non-buffered case to avoid use of an AfterFunc. * Support (internal-only) special casing of FlushInterval values per request/response. * For now, treat Server-Sent Event responses as unbuffered. (or rather, immediately flushed from the buffer per-write) Fixes #27816 Change-Id: Ie0f975c997daa3db539504137c741a96d7022665 Reviewed-on: https://go-review.googlesource.com/c/137335 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Qais Patankar authored
Change-Id: I098b3c627c2142affd4e800a2c1f37e00f3775c5 Reviewed-on: https://go-review.googlesource.com/c/140777Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Marten Seemann authored
According to https://tools.ietf.org/html/rfc6962#section-3.3, the SCT must be at least one byte long. The parsing code correctly checks for this condition, but rarely the test does generate an empty SCT. Change-Id: If36a34985b4470a5a9f96affc159195c04f6bfad Reviewed-on: https://go-review.googlesource.com/c/129755Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ben Shi authored
BSFQ/BSRQ/BSFL/BSRL/SQRTSD have similar logic in amd64's assembly generator. This CL combines them together while does not impact generated amd64 code. The total size of pkg/linux_amd64/cmd/compile/internal decreases about 1.8KB. Change-Id: I5f3210c5178c20ac9108877c69f17234baf5b6b7 Reviewed-on: https://go-review.googlesource.com/c/140438 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Ben Shi authored
This CL implements indexed memory operands for the following instructions. (ADD|SUB|MUL|AND|OR|XOR)Lload -> (ADD|SUB|MUL|AND|OR|XOR)Lloadidx4 (ADD|SUB|AND|OR|XOR)Lmodify -> (ADD|SUB|AND|OR|XOR)Lmodifyidx4 (ADD|AND|OR|XOR)Lconstmodify -> (ADD|AND|OR|XOR)Lconstmodifyidx4 1. The total size of pkg/linux_386/ decreases about 2.5KB, excluding cmd/compile/ . 2. There is little regression in the go1 benchmark test, excluding noise. name old time/op new time/op delta BinaryTree17-4 3.25s ± 3% 3.25s ± 3% ~ (p=0.218 n=40+40) Fannkuch11-4 3.53s ± 1% 3.53s ± 1% ~ (p=0.303 n=40+40) FmtFprintfEmpty-4 44.9ns ± 3% 45.6ns ± 3% +1.48% (p=0.030 n=40+36) FmtFprintfString-4 78.7ns ± 5% 80.1ns ± 7% ~ (p=0.217 n=36+40) FmtFprintfInt-4 90.2ns ± 6% 89.8ns ± 5% ~ (p=0.659 n=40+38) FmtFprintfIntInt-4 140ns ± 5% 141ns ± 5% +1.00% (p=0.027 n=40+40) FmtFprintfPrefixedInt-4 185ns ± 3% 183ns ± 3% ~ (p=0.104 n=40+40) FmtFprintfFloat-4 411ns ± 4% 406ns ± 3% -1.37% (p=0.005 n=40+40) FmtManyArgs-4 590ns ± 4% 598ns ± 4% +1.35% (p=0.008 n=40+40) GobDecode-4 7.16ms ± 5% 7.10ms ± 5% ~ (p=0.335 n=40+40) GobEncode-4 6.85ms ± 7% 6.74ms ± 9% ~ (p=0.058 n=38+40) Gzip-4 400ms ± 4% 399ms ± 2% -0.34% (p=0.003 n=40+33) Gunzip-4 41.4ms ± 3% 41.4ms ± 4% -0.12% (p=0.020 n=40+40) HTTPClientServer-4 64.1µs ± 4% 63.5µs ± 2% -1.07% (p=0.000 n=39+37) JSONEncode-4 15.9ms ± 2% 15.9ms ± 3% ~ (p=0.103 n=40+40) JSONDecode-4 62.2ms ± 4% 61.6ms ± 3% -0.98% (p=0.006 n=39+40) Mandelbrot200-4 5.18ms ± 3% 5.14ms ± 4% ~ (p=0.125 n=40+40) GoParse-4 3.29ms ± 2% 3.27ms ± 2% -0.66% (p=0.006 n=40+40) RegexpMatchEasy0_32-4 103ns ± 4% 103ns ± 4% ~ (p=0.632 n=40+40) RegexpMatchEasy0_1K-4 830ns ± 3% 828ns ± 3% ~ (p=0.563 n=40+40) RegexpMatchEasy1_32-4 113ns ± 4% 113ns ± 4% ~ (p=0.494 n=40+40) RegexpMatchEasy1_1K-4 1.03µs ± 4% 1.03µs ± 4% ~ (p=0.665 n=40+40) RegexpMatchMedium_32-4 130ns ± 4% 129ns ± 3% ~ (p=0.458 n=40+40) RegexpMatchMedium_1K-4 39.4µs ± 3% 39.7µs ± 3% ~ (p=0.825 n=40+40) RegexpMatchHard_32-4 2.16µs ± 4% 2.15µs ± 4% ~ (p=0.137 n=40+40) RegexpMatchHard_1K-4 65.2µs ± 3% 65.4µs ± 4% ~ (p=0.160 n=40+40) Revcomp-4 1.87s ± 2% 1.87s ± 1% +0.17% (p=0.019 n=33+33) Template-4 69.4ms ± 3% 69.8ms ± 3% +0.60% (p=0.009 n=40+40) TimeParse-4 437ns ± 4% 438ns ± 4% ~ (p=0.234 n=40+40) TimeFormat-4 408ns ± 3% 408ns ± 3% ~ (p=0.904 n=40+40) [Geo mean] 65.7µs 65.6µs -0.08% name old speed new speed delta GobDecode-4 107MB/s ± 5% 108MB/s ± 5% ~ (p=0.336 n=40+40) GobEncode-4 112MB/s ± 6% 114MB/s ± 9% +1.95% (p=0.036 n=37+40) Gzip-4 48.5MB/s ± 4% 48.6MB/s ± 2% +0.28% (p=0.003 n=40+33) Gunzip-4 469MB/s ± 4% 469MB/s ± 4% +0.11% (p=0.021 n=40+40) JSONEncode-4 122MB/s ± 2% 122MB/s ± 3% ~ (p=0.105 n=40+40) JSONDecode-4 31.2MB/s ± 4% 31.5MB/s ± 4% +0.99% (p=0.007 n=39+40) GoParse-4 17.6MB/s ± 2% 17.7MB/s ± 2% +0.66% (p=0.007 n=40+40) RegexpMatchEasy0_32-4 310MB/s ± 4% 310MB/s ± 4% ~ (p=0.384 n=40+40) RegexpMatchEasy0_1K-4 1.23GB/s ± 3% 1.24GB/s ± 3% ~ (p=0.186 n=40+40) RegexpMatchEasy1_32-4 283MB/s ± 3% 281MB/s ± 4% ~ (p=0.855 n=40+40) RegexpMatchEasy1_1K-4 1.00GB/s ± 4% 1.00GB/s ± 4% ~ (p=0.665 n=40+40) RegexpMatchMedium_32-4 7.68MB/s ± 4% 7.73MB/s ± 3% ~ (p=0.359 n=40+40) RegexpMatchMedium_1K-4 26.0MB/s ± 3% 25.8MB/s ± 3% ~ (p=0.825 n=40+40) RegexpMatchHard_32-4 14.8MB/s ± 3% 14.9MB/s ± 4% ~ (p=0.136 n=40+40) RegexpMatchHard_1K-4 15.7MB/s ± 3% 15.7MB/s ± 4% ~ (p=0.150 n=40+40) Revcomp-4 136MB/s ± 1% 136MB/s ± 1% -0.09% (p=0.028 n=32+33) Template-4 28.0MB/s ± 3% 27.8MB/s ± 3% -0.59% (p=0.010 n=40+40) [Geo mean] 82.1MB/s 82.3MB/s +0.25% Change-Id: Ifa387a251056678326d3508aa02753b70bf7e5d0 Reviewed-on: https://go-review.googlesource.com/c/140303 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 08 Oct, 2018 5 commits
-
-
Urvil Patel authored
Change-Id: Ie5b2ef0087dbc7b8191de8c8b4190396631e3c7f Reviewed-on: https://go-review.googlesource.com/c/137215 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Richard Musiol authored
The commit 0e4c013b changed the syscall package so it uses the asynchronous functions of Node.js's fs module. This commit adapts the stubs of the fs module which are used when using a browser instead of Node.js. Fixes #28068. Change-Id: Ic3a6a8aebb0db06402383bc2fea7642a4501e02c Reviewed-on: https://go-review.googlesource.com/c/140537Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
The spec used the term "conversion" somewhat indiscriminately for explicit conversions that appear literally in the source, and implicit conversions that are implied by the context of an expression. Be clearer about it by defining the terms. Also, state that integer to string conversions of the form string(x) are never implicit. This clarifies situations where implicit conversions might require an integer to change to a string (but don't and never have done so). See line 3948. Fixes #26313. Change-Id: I8939466df6b5950933ae7c987662ef9f88827fda Reviewed-on: https://go-review.googlesource.com/c/139099Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
Similarly to CL 138676, skip TestUnixConnLocalWindows on windows/arm. Fixes #28061 Change-Id: I2270d2f9d268e85ea567be0c0c37c48e4d482282 Reviewed-on: https://go-review.googlesource.com/c/140397 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Igor Zhilianin authored
Change-Id: I94cebca86706e072fbe3be782d3edbe0e22b9432 GitHub-Last-Rev: 8e15a40545704fb21b41a8768079f2da19341ef3 GitHub-Pull-Request: golang/go#28067 Reviewed-on: https://go-review.googlesource.com/c/140437 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 07 Oct, 2018 1 commit
-
-
ludweeg authored
Simplify `!(x <= y)` to `x > y` and `!(x >= y)` to `x < y` where x,y are not defined as float. Change-Id: Id1e5b518395d97e75f96aa4ac5d6c0ee990c0e7d Reviewed-on: https://go-review.googlesource.com/c/140337 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 06 Oct, 2018 11 commits
-
-
Lehner Florian authored
Updates golang/go#27554. Change-Id: I2bf3d57ebeeb5dd50beffbc643a4ad10287b2c1e GitHub-Last-Rev: 4ffae55b4b2ca9d9b2a5b2b6dcef14ce43d83544 GitHub-Pull-Request: golang/go#27954 Reviewed-on: https://go-review.googlesource.com/c/138837Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Yasuhiro Matsumoto authored
Change-Id: I775eb4b33422a95f4255799d551c9962d7e181d3 Reviewed-on: https://go-review.googlesource.com/c/140318Reviewed-by: Robert Griesemer <gri@golang.org>
-
Keith Randall authored
This was missed as part of adding a top-level VARDEF for stack tracing (CL 134156). Fixes #28055 Change-Id: Id14748dfccb119197d788867d2ec6a3b3c9835cf Reviewed-on: https://go-review.googlesource.com/c/140304 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
-
Igor Zhilianin authored
Change-Id: If2954bdfc551515403706b2cd0dde94e45936e08 GitHub-Last-Rev: d4cfc41a5504cf10befefdb881d4c45986a1d1f8 GitHub-Pull-Request: golang/go#28049 Reviewed-on: https://go-review.googlesource.com/c/140299Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Gabriel Aszalos authored
This change makes stateEndTop use isSpace instead of specifically recreating the same functionality. Change-Id: I81f8f51682e46e7f8e2b9fed423a968457200625 Reviewed-on: https://go-review.googlesource.com/c/121797Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tim Cooper authored
Change-Id: Ic7fce53c6264107c15b127d9c9ca0bec11a888ff Reviewed-on: https://go-review.googlesource.com/c/138183Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Roberto authored
Change-Id: Ie1f35c7598bd2549a048d64e1b1279bf4acaa103 GitHub-Last-Rev: c8cc7dfef987cbd04f48daabf23efa64c0c67322 GitHub-Pull-Request: golang/go#28051 Reviewed-on: https://go-review.googlesource.com/c/140302Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
-
Ben Shi authored
This CL combines similar code in amd64's assembly generator. The total size of pkg/linux_amd64/cmd/compile/ decreases about 4.5KB, while the generated amd64 code is not affected. Change-Id: I4cdbdd22bde8857aafdc29b47fa100a906fa1598 Reviewed-on: https://go-review.googlesource.com/c/140298 Run-TryBot: Ben Shi <powerman1st@163.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Ben Shi authored
This CL combines similar rules together via regular expression, while does not impact generated 386 code. Change-Id: I2b26e7fc6adffa0fa10eeb04a4f3a76ddabc760b Reviewed-on: https://go-review.googlesource.com/c/140297Reviewed-by: Keith Randall <khr@golang.org>
-
Ben Shi authored
This CL combines several rules together via regular expression, but won't impact generated 386 code. Change-Id: I354006fe801fc952e3a9431cae63229922c9ba48 Reviewed-on: https://go-review.googlesource.com/c/139957 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Ben Shi authored
The indexed MOVload and MOVstore have similar logic, and this CL combine them together. The total size of pkg/linux_386/cmd/compile/ decreases about 4KB. Change-Id: I06236a3542aaa3dfc113c49fe4c69d209e018dfe Reviewed-on: https://go-review.googlesource.com/c/139958 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 05 Oct, 2018 13 commits
-
-
Alberto Donizetti authored
This reverts commit d2170040. Reason for revert: It broke all the darwin builders; it's also not obvious how the weird darwin versions (900, 1000) relate to the > 3.9 requisite, so I'm not sure how to decide about skipping in a robust way. It's better to revert the check for now. Fixes #28028 Change-Id: Ibbcb7bf7cd2136e0851ebd097a2bc4dec9f0ee18 Reviewed-on: https://go-review.googlesource.com/c/140217Reviewed-by: Keith Randall <khr@golang.org>
-
Mikio Hara authored
Updates the route package to git rev 146acd2 for: - 146acd2 don't run NET_RT_IFLIST vs. NET_RT_IFLISTL test in 386 emulation (again) Change-Id: I24de1eb31b2ca0e24cb9ab1648f7a71b5067cf97 Reviewed-on: https://go-review.googlesource.com/c/139937Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Yuval Pavel Zholkover authored
This is similar to CL 136816 for x/sys/unix, changing the FreeBSD ABI to use 64-bit inodes in Stat_t, Statfs_t, and Dirent types. The changes are forward compatible, that is FreeBSD 10.x, 11.x continue to use their current sysnum numbers. The affected types are converted to the new layout (with some overhead). Thus the same statically linked binary should work using the native sysnums (without any conversion) on FreeBSD 12. Breaking API changes in package syscall are: Mknod takes a uint64 (C dev_t) instead of int. Stat_t: Dev, Ino, Nlink, Rdev, Gen became uint64. Atimespec, Mtimespec, Ctimespec, Birthtimespec renamed to Atim, Mtim, Ctim, Birthtim respectively. Statfs_t: Mntonname and Mntfromname changed from [88]int8 to [1024]int8 arrays. Dirent: Fileno became uint64, Namlen uint16 and an additional field Off int64 (currently unused) was added. The following commands were run to generate ztypes_* and zsyscall_* on FreeBSD-12.0-ALPHA6 systems (GOARCH=386 were run on the same amd64 host): GOOS=freebsd GOARCH=amd64 ./mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go |gofmt >zsyscall_freebsd_amd64.go GOOS=freebsd GOARCH=amd64 go tool cgo -godefs types_freebsd.go | GOOS=freebsd GOARCH=amd64 go run mkpost.go >ztypes_freebsd_amd64.go GOOS=freebsd GOARCH=386 ./mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go |gofmt >zsyscall_freebsd_386.go GOOS=freebsd GOARCH=386 go tool cgo -godefs types_freebsd.go | GOOS=freebsd GOARCH=386 go run mkpost.go >ztypes_freebsd_386.go GOOS=freebsd GOARCH=arm ./mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go |gofmt >zsyscall_freebsd_arm.go GOOS=freebsd GOARCH=arm go tool cgo -godefs -- -fsigned-char types_freebsd.go | GOOS=freebsd GOARCH=arm go run mkpost.go >ztypes_freebsd_arm.go The Kevent struct was changed to use the FREEBSD_COMPAT11 version always (requiring the COMPAT_FREEBSD11 kernel option FreeBSD-12, this is the default). The definitions of ifData were not updated, their functionality in has have been replaced by vendored golang.org/x/net/route. freebsdVersion initialization was dropped from init() in favor of a sync.Once based wrapper - supportsABI(). Updates #22448. Change-Id: I359b756e2849c036d7ed7f75dbd6ec836e0b90b4 Reviewed-on: https://go-review.googlesource.com/c/138595Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jordan Rhee authored
Fixes #27904 Change-Id: Ie2aad20cd66785b6cc1018c0048824382cb39f8c Reviewed-on: https://go-review.googlesource.com/c/140158 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Tobias Klauser authored
runtime.armArch is unused on linux/arm since CL 93637. The new code in runtime/internal/atomic (added by CL 111315) only checks runtime.goarm. Change-Id: Ic097ee6750e39abb20f45770a1c7c2d925f02408 Reviewed-on: https://go-review.googlesource.com/c/140077 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
1) Scopes do have a comment field for documentation (debugging output). No need to do anything extra. 2) The testcase in expr3.src has ok error messages. Enabled. Change-Id: Ic1a03bfec0a6a70d876aa6cfb936973abe58fe6c Reviewed-on: https://go-review.googlesource.com/c/139902Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
This work-around is not needed anymore now that method signatures are type-checked separately from their receiver base types: no artificial cycles are introduced anymore and so there is no need to artificially cut them. Fixes #26854. Change-Id: I2ef15ceeaa0b486f65f6cdc466d0cf06246c74d7 Reviewed-on: https://go-review.googlesource.com/c/139900Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
This work-around is not needed anymore now that method signatures are type-checked separately from their receiver base types: no artificial cycles are introduced anymore and so there is no need to artificially cut them. Updates #26124. Change-Id: I9d50171f12dd8977116a5d3f63ac39a06b1cd492 Reviewed-on: https://go-review.googlesource.com/c/139899Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
As a side-effect we also get slightly clearer errors for some pathological cyclic method declarations. Fixes #23203. Updates #26854. Change-Id: I30bd6634ac6be26d3f4ef8c7b32e5c1bf76987dd Reviewed-on: https://go-review.googlesource.com/c/139897Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Remove assumption that methods associated to concrete (non-interface) types have a fully set up signature. Such methods are found through LookupFieldOrMethod or lookupMethod, or indexed method access from a Named type. Make sure that the method's signature is type-checked before use in those cases. (MethodSets also hold methods but the type checker is not using them but for internal verification. API clients will be using it after all methods have been type-checked.) Some functions such as MissingMethod may now have to type-check a method and for that they need a *Checker. Add helper functions as necessary to provide the additional (receiver) parameter but permit it to be nil if the respective functions are invoked through the API (at which point we know that all methods have a proper signature and thus we don't need the delayed type-check). Since all package-level objects eventually are type-checked through the top-level loop in Checker.packageObjects we are guaranteed that all methods will be type-checked as well. Updates #23203. Updates #26854. Change-Id: I6e48f0016cefd498aa70b776e84a48215a9042c5 Reviewed-on: https://go-review.googlesource.com/c/139425Reviewed-by: Alan Donovan <adonovan@google.com>
-
https://golang.org/cl/139422Robert Griesemer authored
The prior CL prepared go/types for the situation where methods might not have a type-checked signature when being looked up. The respective adjustments to recvPtr were not correct (but because so far method signatures are type-checked in time, the bug didn't manifest itself). Updates #23203. Updates #26854. Change-Id: I796691d11e6aac84396bdef802ad30715755fcc6 Reviewed-on: https://go-review.googlesource.com/c/139721Reviewed-by: Alan Donovan <adonovan@google.com>
-
Meng Zhuo authored
The origin tagKey is just dirname if no tags input which will cause pkgCache missmatch if other imported pkg explicit on GOARCH or GOOS This CL will add GOOS and GOARCH to tagKey Fixes #8425 Fixes #21181 Change-Id: Ifc189cf6746d753ad7c7e5bb60621297fc0a4e35 Reviewed-on: https://go-review.googlesource.com/c/138315Reviewed-by: Robert Griesemer <gri@golang.org>
-
Austin Clements authored
The alloc_m documentation refers to concepts that don't exist (and maybe never did?). alloc_m is also not the API entry point to span allocation. Hence, rewrite the documentation for alloc and alloc_m. While we're here, document why alloc_m must run on the system stack and replace alloc_m's hand-implemented system stack check with a go:systemstack annotation. Change-Id: I30e263d8e53c2774a6614e1b44df5464838cef09 Reviewed-on: https://go-review.googlesource.com/c/139459 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-