1
0
mirror of https://github.com/golang/go synced 2024-11-22 03:54:39 -07:00
Commit Graph

17469 Commits

Author SHA1 Message Date
Joel Sing
e18ed3c111 cmd/5l,cmd/8l: unbreak arm and 386 linkers
Add dragonflydynld to 5l and 8l so that they compile again.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12739048
2013-08-24 01:32:01 +10:00
Joel Sing
71dc91db0f all: compiler/bootstrap for dragonfly/amd64
Add dragonfly/amd64 support to the Go compiler, bootstrap and GOOS list.

R=devon.odell, bradfitz
CC=golang-dev
https://golang.org/cl/12796050
2013-08-24 01:18:04 +10:00
Mikio Hara
180da80e90 net: fix dial to raw IP networks on Windows
Also avoids platform-dependent datagram truncation in raw IP tests.
At least it's different between Windows and others.

Fixes #6122.

R=alex.brainman
CC=golang-dev
https://golang.org/cl/12843043
2013-08-23 19:31:24 +09:00
Mikio Hara
910a6faa93 net: fix race in TestDNSThreadLimit
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/13141045
2013-08-23 14:26:52 +09:00
Alex Brainman
ec9e3e62a1 net: wait longer before failing TestVariousDeadlines4Proc on windows
This is an attempt to make our slow
windows-386 builder more reliable.

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/12798045
2013-08-23 15:07:42 +10:00
Mikio Hara
6383896fee net: update doc on socket
Also makes variable names a bit cleaner.

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/12808047
2013-08-23 13:13:43 +09:00
Mikio Hara
d3043b7b4a net: add test for protocol numbers lookup using internal information base
Update #5344

R=alex.brainman
CC=golang-dev
https://golang.org/cl/12966046
2013-08-22 12:13:54 +09:00
Alex Brainman
e541c861a3 net: fix misspelled variable name (fixes windows build)
R=golang-dev, adg
CC=golang-dev, mikioh.mikioh
https://golang.org/cl/12848047
2013-08-22 12:34:05 +10:00
Mikio Hara
fd58320f32 net: add minimal internet protocol number information base
This CL adds minimal information for supporting platforms that don't
have a complete list of internet protocol numbers.

Fixes #5344.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12898045
2013-08-22 10:33:37 +09:00
Mikio Hara
3b961bf88b net: remove redundant argument check from Dial on udp, unix networks
The net package consists of thin three layers like the follwoing;

- Exposed API, that contains net.Dial, net.DialUDP, net.DialUnix
- Socket and network file descriptor, that contains net.netFD and
  its methods, helper functions such as dialUDP, dialUnix
- Network pollster, that contains net.pollDesc and its methods

This CL removes redundant argument check which is already done by
API layer.

R=golang-dev, dave, bradfitz
CC=golang-dev
https://golang.org/cl/13092043
2013-08-22 10:33:06 +09:00
Andrew Gerrand
a48702eb39 doc: hide playground on front page if playground disabled
Fixes #5630.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12884046
2013-08-22 11:12:44 +10:00
Rémy Oudompheng
4a7a72b8c1 syscall: fix stale URL for linux/arm unistd.h
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/13105047
2013-08-22 00:59:48 +02:00
Dmitriy Vyukov
dfdd1ba028 runtime: do not trigger GC on g0
GC acquires worldsema, which is a goroutine-level semaphore
which parks goroutines. g0 can not be parked.
Fixes #6193.

R=khr, khr
CC=golang-dev
https://golang.org/cl/12880045
2013-08-22 02:17:45 +04:00
Carl Shapiro
87fdb8fb9a undo CL 13010045 / 04f8101b46dd
Update the original change but do not read interface types in
the arguments area.  Once the arguments area is zeroed as the
locals area is we can safely read interface type values there
too.

««« original CL description
undo CL 12785045 / 71ce80dc4195

This has broken the 32-bit builds.

««« original CL description
cmd/gc, runtime: use type information to scan interface values

R=golang-dev, rsc, dvyukov
CC=golang-dev
https://golang.org/cl/12785045
»»»

R=khr, golang-dev, khr
CC=golang-dev
https://golang.org/cl/13010045
»»»

R=khr, khr
CC=golang-dev
https://golang.org/cl/13073045
2013-08-21 13:51:00 -07:00
Sokolov Yura
fcf6a7e5ce time: make timers heap 4-ary
This slightly improves performance when a lot of timers are present

$ misc/benchcmp ../old_timers_m.txt ../new_timers_m.txt
benchmark                           old ns/op    new ns/op    delta
BenchmarkAfterFunc                       6884         6605   -4.05%
BenchmarkAfterFunc-2                     4473         4144   -7.36%
BenchmarkAfterFunc-3                     8601         6185  -28.09%
BenchmarkAfterFunc-4                     9378         8773   -6.45%
BenchmarkAfter                           7237         7278   +0.57%
BenchmarkAfter-2                         4638         3923  -15.42%
BenchmarkAfter-3                         8751         6239  -28.71%
BenchmarkAfter-4                         9223         8737   -5.27%
BenchmarkStop                             603          496  -17.74%
BenchmarkStop-2                           795          577  -27.42%
BenchmarkStop-3                           982          680  -30.75%
BenchmarkStop-4                          1164          739  -36.51%
BenchmarkSimultaneousAfterFunc            657          593   -9.74%
BenchmarkSimultaneousAfterFunc-2          816          757   -7.23%
BenchmarkSimultaneousAfterFunc-3          844          830   -1.66%
BenchmarkSimultaneousAfterFunc-4          785          771   -1.78%
BenchmarkStartStop                        238          239   +0.42%
BenchmarkStartStop-2                      249          234   -6.02%
BenchmarkStartStop-3                      271          268   -1.11%
BenchmarkStartStop-4                      293          295   +0.68%

R=golang-dev, dvyukov, bradfitz, r
CC=golang-dev
https://golang.org/cl/13094043
2013-08-21 18:51:37 +04:00
Dmitriy Vyukov
2f2d4c6bc3 net: ensure that Read/Write on all platforms do 0 mallocs
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12780045
2013-08-21 14:21:02 +04:00
Dmitriy Vyukov
06e686def6 cmd/5g, cmd/6g, cmd/8g: faster compilation
Replace linked list walk with memset.
This reduces CPU time taken by 'go install -a std' by ~10%.
Before:
real		user		sys
0m23.561s	0m16.625s	0m5.848s
0m23.766s	0m16.624s	0m5.846s
0m23.742s	0m16.621s	0m5.868s
after:
0m22.714s	0m14.858s	0m6.138s
0m22.644s	0m14.875s	0m6.120s
0m22.604s	0m14.854s	0m6.081s

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13084043
2013-08-21 14:20:28 +04:00
Elias Naur
c1dd7f4322 doc/go1.2.txt: cmd/5l: support for external linking for linux/arm
R=r
CC=golang-dev
https://golang.org/cl/13019044
2013-08-21 17:45:35 +10:00
Todd Wang
0e73497a4b reflect: Fix Convert to add indir bit when the value is actually a
pointer.  An example that triggers the bad behavior on a 64bit
machine http://play.golang.org/p/GrNFakAYLN
        rv1 := reflect.ValueOf(complex128(0))
        rt := rv1.Type()
        rv2 := rv1.Convert(rt)
        rv3 := reflect.New(rt).Elem()
        rv3.Set(rv2)

Running the code fails with the following:
        panic: reflect: internal error: storeIword of 16-byte value

I've tested on a 64bit machine and verified this fixes the panic.  I
haven't tested on a 32bit machine so I haven't verified the other
cases, but they follow logically.

R=golang-dev, r, iant
CC=golang-dev
https://golang.org/cl/12805045
2013-08-21 14:41:55 +10:00
David Symonds
efdbf0811c C: add Todd Wang (Google CLA).
R=r, adg
CC=golang-dev, toddwang
https://golang.org/cl/13149043
2013-08-21 14:02:58 +10:00
Rob Pike
f578726de1 all: protect alloc count tests by -testing.short
Update #5000
Should reduce the flakiness a little. Malloc counting is important
to general testing but not to the build dashboard, which uses -short.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/12866047
2013-08-21 14:00:45 +10:00
Rob Pike
a83b17c0b7 doc/go1.2.txt: text/template: add comparison functions
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/12801045
2013-08-21 12:55:09 +10:00
Rob Pike
7bbe320679 text/template: implement comparison of basic types
Add eq, lt, etc. to allow one to do simple comparisons.
It's basic types only (booleans, integers, unsigned integers,
floats, complex, string) because that's easy, easy to define,
and covers the great majority of useful cases, while leaving
open the possibility of a more sweeping definition later.

{{if eq .X .Y}}X and Y are equal{{else}}X and Y are unequal{{end}}

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/13091045
2013-08-21 11:27:27 +10:00
Mikio Hara
b3424a7850 doc/go1.2.txt: net: performance improvement on BSD
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12975044
2013-08-21 09:53:17 +09:00
Rob Pike
478c871f02 doc/go1.2.txt: archive/tar's fixed FileInfo
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/13140043
2013-08-21 08:37:32 +10:00
Brad Fitzpatrick
8738dd3cce doc: remove a insignificant line from go1.2.txt
Not a user-visible API change.  Just a minor garbage
win in contrived cases.

Also, the package is io/ioutil.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12987044
2013-08-20 15:35:07 -07:00
Rob Pike
9364868a07 archive/tar,zip: implement the os.FileInfo interface correctly.
This is potentially an API-breaking change, but it is an important bug fix.

The CL https://golang.org/cl/7305072/ added stuff to make
the tar file look more like a file system internally, including providing an
implementation of os.FileInfo for the file headers within the archive.
But the code is incorrect because FileInfo.Name is supposed to return
the base name only; this implementation returns the full path. A round
trip test added in the same shows this in action, as the slashes are
preserved as we create a header using the local implementation of
FileInfo.

The CL here changes the behavior of the tar (and zip) FileInfo to honor
the Go spec for that interface. It also clarifies that the FileInfoHeader
function, which takes a FileInfo as an argument, will therefore create
a header with only the base name of the file recorded, and that
subsequent adjustment may be necessary.

There may be code out there that depends on the broken behavior.
We can call out the risk in the release notes.

Fixes #6180.

R=golang-dev, dsymonds, adg, bradfitz
CC=golang-dev
https://golang.org/cl/13118043
2013-08-21 08:29:41 +10:00
Brad Fitzpatrick
ec89171ef9 A+C: Sokolov Yura (individual CLA)
Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/12831044
2013-08-20 08:21:58 -07:00
Emil Hessman
47ecd52377 misc/xcode: use xcode-select to determine path
If xcode-select is available, use it to determine the path to the
DVTFoundation.xcplugindata file.

Fixes #5997.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12741047
2013-08-20 20:48:29 +10:00
Mikio Hara
ed738ad354 net: remove obsolete builtin network pollster
Update #5199
Update #6146

R=golang-dev, dvyukov
CC=golang-dev
https://golang.org/cl/13112044
2013-08-20 17:32:55 +09:00
Mikio Hara
9b65dac494 net: enable runtime-integrated network pollster on freebsd/arm
Fixes #6146.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12927048
2013-08-20 17:02:42 +09:00
Mikio Hara
e82614e5be runtime: integrated network pollster for freebsd/arm
Update #6146

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12927047
2013-08-20 16:57:30 +09:00
Brad Fitzpatrick
33d531dfa4 net/http: support WriteString on the ResponseWriter
Fixes #5377

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12991046
2013-08-19 22:56:54 -07:00
Rob Pike
94b42fb14a os: fix windows build
The os windows source uses file as the receiver, not f.
TBR=golang-dev@googlegroups.com

R=adg
CC=golang-dev
https://golang.org/cl/12922044
2013-08-20 14:45:46 +10:00
Rob Pike
4cb086b838 os: be consistent about File methods with nil receivers
Some crashed, some didn't. Make a nil receiver always
return ErrInvalid rather than crash.
Fixes #5824.
The program in the bug listing is silent now, at least on my Mac.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/13108044
2013-08-20 14:33:03 +10:00
Rob Pike
a3695fb227 api: update next.txt, except.txt
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12926046
2013-08-20 11:14:45 +10:00
Alan Donovan
d96de0633c test: exit non-zero on error from nilptr2.go.
(For go.tools/ssa/interp/interp_test, which runs a subset of
these tests under this assumption.)

R=rsc, r
CC=golang-dev
https://golang.org/cl/13108043
2013-08-19 17:50:22 -04:00
Carl Shapiro
ca2d32b46d undo CL 12785045 / 71ce80dc4195
This has broken the 32-bit builds.

««« original CL description
cmd/gc, runtime: use type information to scan interface values

R=golang-dev, rsc, dvyukov
CC=golang-dev
https://golang.org/cl/12785045
»»»

R=khr, golang-dev, khr
CC=golang-dev
https://golang.org/cl/13010045
2013-08-19 14:16:55 -07:00
Rob Pike
0d5bc0cff5 doc/go_faq.html: link to the SPLASH talk near the top
It's a full answer to the first question; let's let readers know that.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12788048
2013-08-20 06:44:41 +10:00
Aaron France
dccf651b24 misc/emacs: Detect stale coverage reports
When the coverage report file is older than the file we're
showing the coverage report for, then we show a simple message
to state this fact.

R=adonovan, dominik.honnef, bradfitz
CC=golang-dev
https://golang.org/cl/12919044
2013-08-19 16:32:00 -04:00
Brad Fitzpatrick
7481037707 A+C: Aaron France (individual CLA)
Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/13073044
2013-08-19 13:30:31 -07:00
Keith Randall
6401e0f83f runtime: don't run finalizers if we're still on the g0 stack.
R=golang-dev, rsc, dvyukov, khr
CC=golang-dev
https://golang.org/cl/11386044
2013-08-19 12:20:50 -07:00
Dmitriy Vyukov
88ee849a8a net: annotate Read/Write for race detector
Fixes #6167.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/13052043
2013-08-19 23:09:24 +04:00
Dmitriy Vyukov
d017f578d0 runtime: do not preempt race calls
In the crash stack trace race cgocall() calls endcgo(),
this means that m->racecall is wrong.
Indeed this can happen is a goroutine is rescheduled to another M
during race call.
Disable preemption for race calls.
Fixes #6155.

R=golang-dev, rsc, cshapiro
CC=golang-dev
https://golang.org/cl/12866045
2013-08-19 23:06:46 +04:00
Carl Shapiro
21ea5103a4 cmd/gc, runtime: use type information to scan interface values
R=golang-dev, rsc, dvyukov
CC=golang-dev
https://golang.org/cl/12785045
2013-08-19 10:19:59 -07:00
Andrew Gerrand
2f6e9a1e24 cmd/go: only try to clean executables for package main
Fixes #5665.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12807044
2013-08-19 16:22:33 +10:00
Rob Pike
c974b8b6ac cmd/go: diagnose import cycles better
Before this CL, the import stack was a) not printed and b) overwritten later
in the build, destroying the information about the cycle. This CL fixes both.

I made time depend on os (os already depends on time) and with this CL the error is:

/Users/r/go/src/pkg/fmt/print.go:10:2: import cycle not allowed
package code.google.com/p/XXX/YYY:
        imports fmt
        imports os
        imports time
        imports os

Doesn't give line numbers for the actual imports, as requested in the bug, but
I don't believe that's important.

Fixes #4292.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/13100043
2013-08-19 15:50:57 +10:00
David Symonds
a790388afb cmd/gc: regenerate y.tab.{c,h} with Bison 2.5.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12744048
2013-08-19 13:47:43 +10:00
Rob Pike
a8fe176156 test: fix build
syntax/*: update messages
sliceerr3.go: bizarre new error fixed by deleting a space.

I could have sworn I ran all.bash before submitting the CL that triggered these.

TBR=golang-dev@googlegroups.com

R=golang-dev
CC=golang-dev
https://golang.org/cl/12812044
2013-08-19 12:05:33 +10:00
Anthony Martin
f316a7ea87 cmd/gc: don't attempt to generate wrappers for blank interface methods
Fixes #5691.

R=golang-dev, bradfitz, daniel.morsing, rsc
CC=golang-dev
https://golang.org/cl/10255047
2013-08-19 11:53:34 +10:00