aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-17[release-branch.go1.4] remove cmd/link from nacl test zipgo1.4rc1Andrew Gerrand
LGTM=dsymonds R=rsc, dsymonds CC=golang-codereviews https://golang.org/cl/179830043
2014-11-17[release-branch.go1.4] remove cmd/linkAndrew Gerrand
LGTM=dsymonds, minux R=rsc, dsymonds, minux CC=golang-codereviews https://golang.org/cl/176910043
2014-11-17[release-branch.go1.4] debug/goobj: move to cmd/internal/goobjAndrew Gerrand
««« CL 174250043 / c16349455e05 debug/goobj: move to cmd/internal/goobj debug/goobj is not ready to be published but it is needed for the various binary-reading commands. Move to cmd/internal/goobj. (The Go 1.3 release branch deleted it, but that's not an option anymore due to the command dependencies. The API is still not vetted nor terribly well designed.) LGTM=adg, dsymonds R=adg, dsymonds CC=golang-codereviews https://golang.org/cl/174250043 »»» LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/177890043
2014-11-17go1.4rc1Andrew Gerrand
2014-11-16runtime: fix sudog leakRuss Cox
The SudoG used to sit on the stack, so it was cheap to allocated and didn't need to be cleaned up when finished. For the conversion to Go, we had to move sudog off the stack for a few reasons, so we added a cache of recently used sudogs to keep allocation cheap. But we didn't add any of the necessary cleanup before adding a SudoG to the new cache, and so the cached SudoGs had stale pointers inside them that have caused all sorts of awful, hard to debug problems. CL 155760043 made sure SudoG.elem is cleaned up. CL 150520043 made sure SudoG.selectdone is cleaned up. This CL makes sure SudoG.next, SudoG.prev, and SudoG.waitlink are cleaned up. I should have done this when I did the other two fields; instead I wasted a week tracking down a leak they caused. A dangling SudoG.waitlink can point into a sudogcache list that has been "forgotten" in order to let the GC collect it, but that dangling .waitlink keeps the list from being collected. And then the list holding the SudoG with the dangling waitlink can find itself in the same situation, and so on. We end up with lists of lists of unusable SudoGs that are still linked into the object graph and never collected (given the right mix of non-trivial selects and non-channel synchronization). More details in golang.org/issue/9110. Fixes #9110. LGTM=r R=r CC=dvyukov, golang-codereviews, iant, khr https://golang.org/cl/177870043
2014-11-16runtime: update URL for heap dump formatRuss Cox
I just created that redirect, so we can change it once the wiki moves. LGTM=bradfitz, khr R=khr, bradfitz CC=golang-codereviews https://golang.org/cl/177780043
2014-11-14C: add Nick Cooper (Google CLA).Nigel Tao
LGTM=dsymonds R=dsymonds CC=golang-codereviews, nmvc https://golang.org/cl/169580043
2014-11-14doc: fix small typo in docYasuhiro Matsumoto
LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/170660043
2014-11-14net/http: add comment to clarify whether Dir is '/' or '\'.Nigel Tao
LGTM=bradfitz R=bradfitz, alex.brainman CC=golang-codereviews https://golang.org/cl/168600044
2014-11-12net/url: add example of using URL.Opaque with http.RequestBrad Fitzpatrick
Per private thread soliciting help. I realized part of this is documented in several places, but we lacked a unifying example. LGTM=rsc R=golang-codereviews CC=adg, golang-codereviews, iant, rsc https://golang.org/cl/171620043
2014-11-12A+C: add another email address for Emil HessmanEmil Hessman
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/143470043
2014-11-12hash/crc32: fix comment that the IEEE polynomial applies to MPEG-2.Nigel Tao
LGTM=minux R=adg, minux CC=golang-codereviews https://golang.org/cl/170520043
2014-11-11regexp/syntax: Clarify comment of OpAnyCharNotNL.Robin Eklind
LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/171560043
2014-11-11spec: method selectors don't auto-deref named pointer typesRobert Griesemer
Language clarification. The existing rules for selector expressions imply automatic dereferencing of pointers to struct fields. They also implied automatic dereferencing of selectors denoting methods. In almost all cases, such automatic dereferencing does indeed take place for methods but the reason is not the selector rules but the fact that method sets include both methods with T and *T receivers; so for a *T actual receiver, a method expecting a formal T receiver, also accepts a *T (and the invocation or method value expression is the reason for the auto-derefering). However, the rules as stated so far implied that even in case of a variable p of named pointer type P, a selector expression p.f would always be shorthand for (*p).f. This is true for field selectors f, but cannot be true for method selectors since a named pointer type always has an empty method set. Named pointer types may never appear as anonymous field types (and method receivers, for that matter), so this only applies to variables declared of a named pointer type. This is exceedingly rare and perhaps shouldn't be permitted in the first place (but we cannot change that). Amended the selector rules to make auto-deref of values of named pointer types an exception to the general rules and added corresponding examples with explanations. Both gc and gccgo have a bug where they do auto-deref pointers of named types in method selectors where they should not: See http://play.golang.org/p/c6VhjcIVdM , line 45. Fixes #5769. Fixes #8989. LGTM=r, rsc R=r, rsc, iant, ken CC=golang-codereviews https://golang.org/cl/168790043
2014-11-11doc/gopher: add jpgs of the 5th anniversary imageRob Pike
LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/172980043
2014-11-11doc: update go1.4.html's minor library changes.Nigel Tao
LGTM=r R=r CC=golang-codereviews https://golang.org/cl/173920043
2014-11-10cmd/cgo: tweak doc to not show example of passing Go pointerIan Lance Taylor
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/171360043
2014-11-09crypto/x509: add Solaris certificate file locationIan Lance Taylor
Fixes #9078. LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/172920043
2014-11-09cmd/5g: fix bit mask for div/mod routines clobbering R12Ian Lance Taylor
This patch is based only on reading the code. I have not tried to construct a test case. Fixes #9077. LGTM=minux R=minux CC=golang-codereviews https://golang.org/cl/172110043
2014-11-09test: fix nacl buildRuss Cox
Disable linkx_run.go and sinit_run.go, because they exec subprocesses, which NaCl cannot. TBR=r CC=golang-codereviews https://golang.org/cl/171350043
2014-11-09cmd/internal/objfile: minor editsRuss Cox
Follow-up in response to comments on TBR'ed CL 171260043. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/172080043
2014-11-09runtime: fix sudog leak in syncsemreleaseRuss Cox
Manifested as increased memory usage in a Google production system. Not an unbounded leak, but can significantly increase the number of sudogs allocated between garbage collections. I checked all the other calls to acquireSudog. This is the only one that was missing a releaseSudog. LGTM=r, dneil R=dneil, r CC=golang-codereviews https://golang.org/cl/169260043
2014-11-09runtime/cgo: add +build tags to files named for $GOOSRuss Cox
These are being built into the runtime/cgo for every operating system. It doesn't seem to matter, but restore the Go 1.3 behavior anyway. LGTM=r R=r, dave CC=golang-codereviews https://golang.org/cl/171290043
2014-11-09cmd/dist: remove old misc/pprofRuss Cox
LGTM=dave, bradfitz, r, alex.brainman R=r, dave, bradfitz, alex.brainman CC=golang-codereviews https://golang.org/cl/167350043
2014-11-09cmd/pprof: install as go tool pprofRuss Cox
LGTM=bradfitz, r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/168320043
2014-11-10undo CL 169000043 / 05b838013df9Andrew Gerrand
This was a mistake. The cmd/api tool depends on an old version of go/types. ««« original CL description cmd/api: use golang.org/x/... import paths LGTM=bradfitz, rsc R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/169000043 »»» TBR=rsc, bradfitz R=bradfitz, rsc CC=golang-codereviews https://golang.org/cl/169320043
2014-11-10undo CL 166380043 / 0b54a0927656Andrew Gerrand
This was a mistake; the cmd/api tool depends on an old version of go/types. ««« original CL description cmd/api: bump go.tools golden CL hash TBR=bradfitz R=rsc CC=golang-codereviews https://golang.org/cl/166380043 »»» TBR=bradfitz, rsc R=bradfitz, rsc CC=golang-codereviews https://golang.org/cl/167430043
2014-11-10cmd/api: bump go.tools golden CL hashAndrew Gerrand
TBR=bradfitz R=rsc CC=golang-codereviews https://golang.org/cl/166380043
2014-11-10cmd/go: use golang.org/x/... import pathsAndrew Gerrand
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/168170043
2014-11-10all: use golang.org/x/... import pathsAndrew Gerrand
LGTM=rsc, r R=r, rsc CC=golang-codereview, golang-codereviews https://golang.org/cl/168050043
2014-11-10cmd/api: use golang.org/x/... import pathsAndrew Gerrand
LGTM=bradfitz, rsc R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/169000043
2014-11-08lib/codereview: fix with more recent hg revisions.Adam Langley
I've Mercurial version 3.2 and hg submit fails with: File "/home/agl/devel/go/lib/codereview/codereview.py", line 3567, in get_hg_status ret = hg_commands.status(fui, self.repo, *[], **{'rev': [rev], 'copies': True}) File "/usr/lib/python2.7/site-packages/mercurial/commands.py", line 5714, in status fm = ui.formatter('status', opts) File "/home/agl/devel/go/lib/codereview/codereview.py", line 3464, in formatter return plainformatter(self, topic, opts) File "/usr/lib/python2.7/site-packages/mercurial/formatter.py", line 57, in __init__ if ui.debugflag: AttributeError: 'FakeMercurialUI' object has no attribute 'debugflag' This change dumbly adds a boolean debugflag and that seems to work. LGTM=minux R=rsc, minux CC=golang-codereviews https://golang.org/cl/167410043
2014-11-08net/http: fix benchmark goroutine leakBrad Fitzpatrick
New detection because of net/http now using TestMain. Fixes #9033 LGTM=iant R=golang-codereviews, iant CC=adg, golang-codereviews, rsc https://golang.org/cl/170210043
2014-11-07cmd/go: disable warnings from cmd/cc when building for SWIGIan Lance Taylor
Fixes #9065. LGTM=rsc R=rsc, misch CC=golang-codereviews https://golang.org/cl/171270043
2014-11-06cmd/internal/objfile: add DisasmRuss Cox
This was missing from CL 167320043. Happy to apply comments in a followup. TBR to fix build. TBR=r CC=golang-codereviews https://golang.org/cl/171260043
2014-11-06cmd/objdump, cmd/pprof: factor disassembly into cmd/internal/objfileRuss Cox
Moving so that new Go 1.4 pprof can use it. The old 'GNU objdump workalike' mode for 'go tool objdump' is now gone, as are the tests for that mode. It was used only by pre-Go 1.4 pprof. You can still specify an address range on the command line; you just get the same output format as you do when dumping the entire binary (without an address limitation). LGTM=r R=r CC=golang-codereviews, iant https://golang.org/cl/167320043
2014-11-06doc/go1.4.html: leave stack size at 2 kBRuss Cox
LGTM=r R=khr, r CC=golang-codereviews https://golang.org/cl/165590043
2014-11-06doc: change "/s/..." links to be on golang.orgRuss Cox
People viewing this locally will not have a /s/ on their local godoc. tip.golang.org doesn't have one either. Also change all golang.org links to https, to avoid mixed content warnings when viewing https://golang.org/. Fixes #9028. LGTM=bradfitz, r R=r, bradfitz CC=adg, golang-codereviews https://golang.org/cl/168250043
2014-11-06test: move linkx and sinit to run.goJosh Bleecher Snyder
The remaining run-only tests will be migrated to run.go in another CL. This CL will break the build due to issues 8746 and 8806. Update #4139 Update #8746 Update #8806 LGTM=rsc R=rsc, bradfitz, iant CC=golang-codereviews https://golang.org/cl/144630044
2014-11-06runtime: don't stop bitmap dump at BitsDeadKeith Randall
Stack bitmaps need to be scanned past any BitsDead entries. Object bitmaps will not have any BitsDead in them (bitmap extraction stops at the first BitsDead entry in makeheapobjbv). data/bss bitmaps also have no BitsDead entries. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/168270043
2014-11-06runtime: fix initial gp->sched.pc in newextramRuss Cox
CL 170720043 missed this one when adding +PCQuantum. LGTM=iant R=r, iant CC=golang-codereviews https://golang.org/cl/168090043
2014-11-06os: document that users of Fd should keep f aliveRuss Cox
Fixes #9046. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/162680043
2014-11-05os/exec: tell lsof not to blockKeith Randall
For some reason lsof is now hanging on my workstation without the -b (avoid blocking in the kernel) option. Adding -b makes the test pass and shouldn't hurt. I don't know how recent the -b option is. If the builders are ok with it, it's probably ok. LGTM=rsc R=golang-codereviews, bradfitz, rsc CC=golang-codereviews https://golang.org/cl/166220043
2014-11-06bufio: remove unused 'panicked' variable from testAndrew Gerrand
LGTM=r R=r CC=golang-codereviews https://golang.org/cl/166230044
2014-11-05runtime: avoid gentraceback of self on user goroutine stackRuss Cox
Gentraceback may grow the stack. One of the gentraceback wrappers may grow the stack. One of the gentraceback callback calls may grow the stack. Various stack pointers are stored in various stack locations as type uintptr during the execution of these calls. If the stack does grow, these stack pointers will not be updated and will start trying to decode stack memory that is no longer valid. It may be possible to change the type of the stack pointer variables to be unsafe.Pointer, but that's pretty subtle and may still have problems, even if we catch every last one. An easier, more obviously correct fix is to require that gentraceback of the currently running goroutine must run on the g0 stack, not on the goroutine's own stack. Not doing this causes faults when you set StackFromSystem = 1 StackFaultOnFree = 1 The new check in gentraceback will catch future lapses. The more general problem is calling getcallersp but then calling a function that might relocate the stack, which would invalidate the result of getcallersp. Add note to stubs.go declaration of getcallersp explaining the problem, and check all existing calls to getcallersp. Most needed fixes. This affects Callers, Stack, and nearly all the runtime profiling routines. It does not affect stack copying directly nor garbage collection. LGTM=khr R=khr, bradfitz CC=golang-codereviews, r https://golang.org/cl/167060043
2014-11-05bufio: fix reading of many blank lines in a rowRuss Cox
Fixes #9020. LGTM=bradfitz, r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/170030043
2014-11-05doc/go1.4.html: document new subrepo import pathsRuss Cox
LGTM=r, adg R=adg, r, 0xjnml, dr.volker.dobler CC=golang-codereviews https://golang.org/cl/166980044
2014-11-06bufio: don't loop generating empty tokensRob Pike
The new rules for split functions mean that we are exposed to the common bug of a function that loops forever at EOF. Pick these off by shutting down the scanner if too many consecutive empty tokens are delivered. Fixes #9020. LGTM=rsc, adg R=golang-codereviews, rsc, adg, bradfitz CC=golang-codereviews https://golang.org/cl/169970043
2014-11-055g: don't generate reg variables for direct-called functionsAustin Clements
The test intended to skip direct calls when creating registerization variables was testing p->to.type instead of p->to.name, so it always failed, causing regopt to create unnecessary variables for these names. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/169110043
2014-11-04test: comment out failing cases from sinit.goIan Lance Taylor
One failing case this removes is: var bytes = []byte("hello, world") var copy_bytes = bytes We could handle this in the compiler, but it requires special case for a variable that is initialized to the value of a variable that is initialized to a string literal converted to []byte. This seems an unlikely case--it never occurs in the standrd library--and it seems unnecessary to write the code to handle it. If we do want to support this case, one approach is https://golang.org/cl/171840043. The other failing cases are of the form var bx bool var copy_bx = bx The compiler used to initialize copy_bx to false. However, that led to issue 7665, since bx may be initialized in non-Go code. The compiler no longer assumes that bx must be false, so copy_bx can not be statically initialized. We can fix these with https://golang.org/cl/169040043 if we also pass -complete to the compiler as part of this test. This is OK but it's too late in the release cycle. Fixes #8746. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/165400043