]> Cypherpunks repositories - gostls13.git/log
gostls13.git
13 years agoexp/template: fix build
Rob Pike [Thu, 28 Jul 2011 23:46:32 +0000 (16:46 -0700)]
exp/template: fix build
TBR=gri

R=gri
CC=golang-dev
https://golang.org/cl/4815070

13 years agobuild: fix noclobber
Russ Cox [Thu, 28 Jul 2011 23:38:14 +0000 (19:38 -0400)]
build: fix noclobber

I got it backwards last time, and somehow
that was leaking into the parent shell?

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/4826054

13 years agoexp/template: simplify the helper functions
Rob Pike [Thu, 28 Jul 2011 23:19:16 +0000 (16:19 -0700)]
exp/template: simplify the helper functions
- create a pair of "Must" functions, one for templates, one for sets
- regularize the return values of the parsers so they can be wrapped by Must
- delete all the old Must functions and methods.

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/4826052

13 years ago5g, 6g, 8g: shift, opt fixes
Russ Cox [Thu, 28 Jul 2011 22:22:12 +0000 (18:22 -0400)]
5g, 6g, 8g: shift, opt fixes

Fixes #1808.

R=ken2
CC=golang-dev
https://golang.org/cl/4813052

13 years ago5g: defer vs optimizer bug
Russ Cox [Thu, 28 Jul 2011 20:28:23 +0000 (16:28 -0400)]
5g: defer vs optimizer bug

Fixes #1924.

R=ken2
CC=golang-dev
https://golang.org/cl/4802063

13 years agohttp: make serveFile redirects relative to work with StripPrefix
Andrew Balholm [Thu, 28 Jul 2011 18:43:16 +0000 (11:43 -0700)]
http: make serveFile redirects relative to work with StripPrefix

serveFile was using absolute redirects, which didn't work under StripPrefix.
Now it uses relative redirects.

R=golang-dev, rsc, bradfitz
CC=golang-dev, kevlar
https://golang.org/cl/4789042

13 years ago6g, 8g: divide corner case
Russ Cox [Thu, 28 Jul 2011 18:18:22 +0000 (14:18 -0400)]
6g, 8g: divide corner case

Fixes #1772.

R=ken2
CC=golang-dev
https://golang.org/cl/4798062

13 years agobuild: handle spaces in $USER
Russ Cox [Thu, 28 Jul 2011 17:04:52 +0000 (13:04 -0400)]
build: handle spaces in $USER

Fixes #2107.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4830042

13 years agobuild: update all-qemu.bash
Russ Cox [Thu, 28 Jul 2011 17:04:30 +0000 (13:04 -0400)]
build: update all-qemu.bash

nothing but GOARCH=arm makes sense.
http/cgi uses network too.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4800053

13 years agogc: shift type bug
Russ Cox [Thu, 28 Jul 2011 17:03:30 +0000 (13:03 -0400)]
gc: shift type bug

Fixes #1664.

R=ken2
CC=golang-dev
https://golang.org/cl/4798056

13 years agoexp/template: make Set.ParseFile etc resolve functions in the Set
Roger Peppe [Thu, 28 Jul 2011 16:59:20 +0000 (09:59 -0700)]
exp/template: make Set.ParseFile etc resolve functions in the Set
Fixes #2114

R=r
CC=golang-dev
https://golang.org/cl/4823056

13 years agocgo: add GoBytes, fix gmp example
Russ Cox [Thu, 28 Jul 2011 16:39:50 +0000 (12:39 -0400)]
cgo: add GoBytes, fix gmp example

Fixes #1640.
Fixes #2007.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4815063

13 years agogc: another width test
Russ Cox [Thu, 28 Jul 2011 16:32:43 +0000 (12:32 -0400)]
gc: another width test

R=ken2
CC=golang-dev
https://golang.org/cl/4808057

13 years agogc: line number + type checking nits
Russ Cox [Thu, 28 Jul 2011 16:31:16 +0000 (12:31 -0400)]
gc: line number + type checking nits

Fixes #1910.
Fixes #1979.
Fixes #1990.
Fixes #1993.
Fixes #2089.

R=ken2
CC=golang-dev
https://golang.org/cl/4828046

13 years agoexp/template: make Set.MustParse* methods return the set.
Roger Peppe [Thu, 28 Jul 2011 15:41:06 +0000 (08:41 -0700)]
exp/template: make Set.MustParse* methods return the set.
This brings them into line with the Template.MustParse* methods
and makes it possible to use them in global variable initializations.

R=r
CC=golang-dev
https://golang.org/cl/4798059

13 years agold: remove cseekend and redo pe writing
Alex Brainman [Thu, 28 Jul 2011 04:30:52 +0000 (14:30 +1000)]
ld: remove cseekend and redo pe writing

Simplify code and add more checks.

Fixes #2105.

R=rsc
CC=golang-dev
https://golang.org/cl/4794060

13 years agorpc and exp/template: simplify tests for exported items
Rob Pike [Thu, 28 Jul 2011 04:26:16 +0000 (21:26 -0700)]
rpc and exp/template: simplify tests for exported items
Fix code to count mallocs - needed to call UpdateMemStats.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4823055

13 years agoimage/tiff: Do not panic when RowsPerStrip is missing.
Benny Siegert [Thu, 28 Jul 2011 01:15:59 +0000 (11:15 +1000)]
image/tiff: Do not panic when RowsPerStrip is missing.

The RowsPerStrip tag is mandatory according to the spec. However,
Mac OS sometimes (?) omits it. I managed to create such an image
by applying "tiffutil -none" on a compressed image.

If RowsPerStrip is 0, there was a division by zero in the decoder.
Assume that the image is a single strip in this case.

R=nigeltao, bradfitz
CC=golang-dev
https://golang.org/cl/4815061

13 years agogc: top-level closure bug
Russ Cox [Wed, 27 Jul 2011 23:31:11 +0000 (19:31 -0400)]
gc: top-level closure bug

Fixes #2055.

R=ken2
CC=golang-dev
https://golang.org/cl/4816059

13 years agogc: composite literal double eval bug
Russ Cox [Wed, 27 Jul 2011 22:55:30 +0000 (18:55 -0400)]
gc: composite literal double eval bug

Fixes #2086.

R=ken2
CC=golang-dev
https://golang.org/cl/4803055

13 years agounicode: fix case-mapping for roman numerals!!
Rob Pike [Wed, 27 Jul 2011 22:54:23 +0000 (15:54 -0700)]
unicode: fix case-mapping for roman numerals!!
Hurray!
Also fix the mystical U+0345 COMBINING GREEK YPOGEGRAMMENI,
so everyone is satisfied.
Also add a -local flag to use local files for faster turnaround
when debugging.

R=rsc
CC=golang-dev
https://golang.org/cl/4825054

13 years agocontainer/vector: removed some uses of container/vector in other pkgs
John Asmuth [Wed, 27 Jul 2011 22:23:42 +0000 (15:23 -0700)]
container/vector: removed some uses of container/vector in other pkgs

R=gri
CC=golang-dev
https://golang.org/cl/4823054

13 years agoA+C: John Asmuth
Andrew Gerrand [Wed, 27 Jul 2011 22:23:14 +0000 (15:23 -0700)]
A+C: John Asmuth

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4827045

13 years agogodoc: app engine configuration and updated documentation
Robert Griesemer [Wed, 27 Jul 2011 22:14:12 +0000 (15:14 -0700)]
godoc: app engine configuration and updated documentation

Also: Fixed an error message in zip.go.

R=r, dsymonds
CC=golang-dev
https://golang.org/cl/4816053

13 years agogc: use more Go-like names for methods
Russ Cox [Wed, 27 Jul 2011 21:56:13 +0000 (17:56 -0400)]
gc: use more Go-like names for methods

Fixes #991.

R=ken2
CC=golang-dev
https://golang.org/cl/4819049

13 years agogc: diagnose (x) := 0
Russ Cox [Wed, 27 Jul 2011 21:39:30 +0000 (17:39 -0400)]
gc: diagnose (x) := 0

Fixes #1756.

R=ken2
CC=golang-dev
https://golang.org/cl/4810057

13 years agobuild: fix for noclobber users
Russ Cox [Wed, 27 Jul 2011 21:38:39 +0000 (17:38 -0400)]
build: fix for noclobber users

Fixes #2020.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/4814056

13 years agogc: zero-width struct, zero-length array fixes
Russ Cox [Wed, 27 Jul 2011 20:47:45 +0000 (16:47 -0400)]
gc: zero-width struct, zero-length array fixes

Fixes #1774.
Fixes #2095.
Fixes #2097.

R=ken2
CC=golang-dev
https://golang.org/cl/4826046

13 years agogc: iota outside const
Russ Cox [Wed, 27 Jul 2011 18:45:27 +0000 (14:45 -0400)]
gc: iota outside const

Fixes #1662.

R=ken2
CC=golang-dev
https://golang.org/cl/4828045

13 years agogc: echo literal in error message
Russ Cox [Wed, 27 Jul 2011 18:36:21 +0000 (14:36 -0400)]
gc: echo literal in error message

Fixes #1192.

R=ken2
CC=golang-dev
https://golang.org/cl/4794062

13 years agoruntime: higher goroutine arg limit, clearer error
Russ Cox [Wed, 27 Jul 2011 16:41:46 +0000 (12:41 -0400)]
runtime: higher goroutine arg limit, clearer error

Fixes #591.

R=ken2
CC=golang-dev
https://golang.org/cl/4803054

13 years agoreflect: rename new TestVariadic to TestVariadicType.
David Symonds [Wed, 27 Jul 2011 03:44:57 +0000 (13:44 +1000)]
reflect: rename new TestVariadic to TestVariadicType.

R=nigeltao
CC=golang-dev
https://golang.org/cl/4825050

13 years agoreflect: doc fixes for obsolete types.
David Symonds [Wed, 27 Jul 2011 03:29:44 +0000 (13:29 +1000)]
reflect: doc fixes for obsolete types.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4802061

13 years agogoinstall: generate makefiles using exp/template
Rob Pike [Tue, 26 Jul 2011 21:45:36 +0000 (14:45 -0700)]
goinstall: generate makefiles using exp/template

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4809052

13 years agorpc: convert /debug/rpc handler to exp/template
Rob Pike [Tue, 26 Jul 2011 21:44:51 +0000 (14:44 -0700)]
rpc: convert /debug/rpc handler to exp/template

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4819048

13 years agohttp: set content type for fileserver directory listings
Robert Griesemer [Tue, 26 Jul 2011 18:30:11 +0000 (11:30 -0700)]
http: set content type for fileserver directory listings

R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4815062

13 years agogc, runtime: fix range+panic line number bugs
Russ Cox [Tue, 26 Jul 2011 04:52:46 +0000 (00:52 -0400)]
gc, runtime: fix range+panic line number bugs

Fixes #1856.

R=ken2
CC=golang-dev
https://golang.org/cl/4810054

13 years agogc: fix select line number
Russ Cox [Tue, 26 Jul 2011 04:52:17 +0000 (00:52 -0400)]
gc: fix select line number

Fixes #1393.

R=ken2
CC=golang-dev
https://golang.org/cl/4811054

13 years agogc: disallow [...][...]int{{1,2,3}}
Russ Cox [Tue, 26 Jul 2011 04:52:02 +0000 (00:52 -0400)]
gc: disallow [...][...]int{{1,2,3}}

Fixes #1600.

R=ken2
CC=golang-dev
https://golang.org/cl/4819045

13 years agoruntime: fix freebsd build
Mikio Hara [Tue, 26 Jul 2011 04:49:32 +0000 (00:49 -0400)]
runtime: fix freebsd build

Fixes #2078.

R=rsc
CC=golang-dev
https://golang.org/cl/4800052

13 years agobuild: remove rm dreg
Russ Cox [Tue, 26 Jul 2011 04:30:39 +0000 (00:30 -0400)]
build: remove rm dreg

Undo CL 4254056 now that enough time has elapsed
that people with old trees have all built and removed
those files (which are no longer generated in that location).

Fixes #1581.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/4802059

13 years agohttp: implement MP4 sniffing.
David Symonds [Tue, 26 Jul 2011 03:28:20 +0000 (13:28 +1000)]
http: implement MP4 sniffing.

R=rsc
CC=golang-dev
https://golang.org/cl/4809044

13 years agonet: fix memory corruption in windows *netFD.ReadFrom
Alex Brainman [Tue, 26 Jul 2011 01:55:52 +0000 (11:55 +1000)]
net: fix memory corruption in windows *netFD.ReadFrom

We must keep memory used by syscall.WSARecvFrom away from
garbage collector until after overlapped call is completed.

Fixes #2094.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4817050

13 years agogoinstall: abort and warn when using any url scheme, not just 'http://'
Andrew Gerrand [Mon, 25 Jul 2011 18:16:34 +0000 (04:16 +1000)]
goinstall: abort and warn when using any url scheme, not just 'http://'

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4801053

13 years agold: fix build on Plan 9
Lucio De Re [Mon, 25 Jul 2011 17:45:50 +0000 (13:45 -0400)]
ld: fix build on Plan 9

ld/data.c:
. Format specifier with corresponding cast to cater for all
  architectures (llux and vlong).

ld/ldelf.c:
ld/ldmacho.c:
. Missing "pn" argument in diag() calls.

ld/ldpe.c:
. Dropped "sym->sectnum" in diag() call.
. Typo in a comment.

ld/lib.h:
. Added varargck pragma for "O".

R=rsc
CC=golang-dev
https://golang.org/cl/4749042

13 years agobuild: define getcallerpc in u.h (fix for Plan 9 build)
Lucio De Re [Mon, 25 Jul 2011 17:45:44 +0000 (13:45 -0400)]
build: define getcallerpc in u.h (fix for Plan 9 build)

. By defining getcallerpc(x) as __builtin_return_address(0)
  here, it becomes possible to use the Plan 9 compatible form
  when compiling using GCC.  The alternative is to add conditional
  compilation based on the compiler identity in "cmd/8g/gsubr.c"
  to distinguish between the two cases.

R=golang-dev
CC=golang-dev, rsc
https://golang.org/cl/4800048

13 years agogc: fix mkbuiltin for Plan 9 build
Lucio De Re [Mon, 25 Jul 2011 17:45:37 +0000 (13:45 -0400)]
gc: fix mkbuiltin for Plan 9 build

. Replaced Posix #includes with u.h and libc.h.
. Replaced fprintf(stderr,...); exit(1); with sysfatal() calls.

R=golang-dev
CC=golang-dev, rsc
https://golang.org/cl/4823047

13 years agobuild: fixes for mingw-w64
Wei Guangjing [Mon, 25 Jul 2011 17:39:01 +0000 (13:39 -0400)]
build: fixes for mingw-w64

R=rsc
CC=golang-dev
https://golang.org/cl/4742042

13 years agold: don't skip first 2 symbols in ldpe.
Wei Guangjing [Mon, 25 Jul 2011 16:25:44 +0000 (12:25 -0400)]
ld: don't skip first 2 symbols in ldpe.
some object files don't has file name symbol.

R=golang-dev, lucio.dere, rsc
CC=golang-dev
https://golang.org/cl/4814051

13 years agoruntime: Plan 9, skip calling runtime·ldt0setup.
Yuval Pavel Zholkover [Mon, 25 Jul 2011 16:25:41 +0000 (12:25 -0400)]
runtime: Plan 9, skip calling runtime·ldt0setup.

R=golang-dev
CC=alex.brainman, golang-dev
https://golang.org/cl/4816049

13 years agoruntime: fix compilation of send select cases
Dmitriy Vyukov [Mon, 25 Jul 2011 16:25:37 +0000 (12:25 -0400)]
runtime: fix compilation of send select cases

Fixes #2102.

R=fullung, rsc
CC=golang-dev
https://golang.org/cl/4825043

13 years agosyscall: remove unused windows code and comments
Alex Brainman [Mon, 25 Jul 2011 16:25:23 +0000 (12:25 -0400)]
syscall: remove unused windows code and comments

R=golang-dev, vcc.163, rsc
CC=golang-dev
https://golang.org/cl/4826042

13 years agoruntime: remove rnd calls that pass a second argument of 1
Ian Lance Taylor [Mon, 25 Jul 2011 05:03:17 +0000 (22:03 -0700)]
runtime: remove rnd calls that pass a second argument of 1

When rnd is called with a second argument of 1, it simply
returns the first argument anyway.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4820045

13 years agoexp/regexp: implement regexp API using exp/regexp/syntax
Russ Cox [Sun, 24 Jul 2011 21:00:28 +0000 (17:00 -0400)]
exp/regexp: implement regexp API using exp/regexp/syntax

Still need to write tests for new syntax
and fix bugs that the tests find, but this
is a good check point.

All tests pass.

Compared against existing regexp:

benchmark                                old ns/op    new ns/op    delta
regexp.BenchmarkLiteral                       1869          620  -66.83%
regexp.BenchmarkNotLiteral                    9489         7823  -17.56%
regexp.BenchmarkMatchClass                   10372         8386  -19.15%
regexp.BenchmarkMatchClass_InRange           10800         7750  -28.24%
regexp.BenchmarkReplaceAll                   13492         8519  -36.86%
regexp.BenchmarkAnchoredLiteralShortNonMatch   747          339  -54.62%
regexp.BenchmarkAnchoredLiteralLongNonMatch    599          335  -44.07%
regexp.BenchmarkAnchoredShortMatch            2137          917  -57.09%
regexp.BenchmarkAnchoredLongMatch             2029          917  -54.81%

R=r, r
CC=golang-dev, sam.thorogood
https://golang.org/cl/4820046

13 years agogoinstall: write to goinstall.log in respective GOPATH
Andrew Gerrand [Sun, 24 Jul 2011 03:43:08 +0000 (13:43 +1000)]
goinstall: write to goinstall.log in respective GOPATH
goinstall: report every newly installed package to the dashboard

This makes "goinstall -a" work on systems with GOROOTs that are
not user-writable, as is the case with Debian's Go packages.

This also makes goinstall.log the canonical list of installed
packages, in that only packages new to goinstall.log are reported to
the dashboard.

A side-effect is that writing to goinstall.log is now mandatory.
(A bug in the original implementation meant this was the case, anyway.)

The principal benefit of this change is that multiple packages from the
same repository can now be reported to the dashboard.  It is also less
likely for a user to report multiple installations of the same package
to the dashboard (they would need to remove the package from
goinstall.log first).

R=rsc, n13m3y3r
CC=golang-dev
https://golang.org/cl/4786041

13 years agounicode: fix doc comment for Range32
Andrew Balholm [Sun, 24 Jul 2011 00:51:19 +0000 (10:51 +1000)]
unicode: fix doc comment for Range32

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4811050

13 years agosort: fixed bug in (Float64Slice) Less; NaN less than anything else
Florian Uekermann [Sat, 23 Jul 2011 19:47:06 +0000 (15:47 -0400)]
sort: fixed bug in (Float64Slice) Less; NaN less than anything else

Previously comparisons with NaN led to contradictory results if it was
compared to anything not NaN, since Less always returned false, thus
breaking monotonicity of ordering.
This fix makes NaN less than anything else and adds NaN and (+-)Inf to
testcases.

Fixes #2092.

R=golang-dev, r, rsc, r
CC=golang-dev
https://golang.org/cl/4805051

13 years agoruntime: replace byte-at-a-time zeroing loop with memclr
Quan Yong Zhai [Sat, 23 Jul 2011 19:46:58 +0000 (15:46 -0400)]
runtime: replace byte-at-a-time zeroing loop with memclr

R=golang-dev, r, r, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/4813043

13 years agoruntime: faster entersyscall/exitsyscall
Russ Cox [Sat, 23 Jul 2011 16:22:55 +0000 (12:22 -0400)]
runtime: faster entersyscall/exitsyscall

Replace cas with xadd in scheduler.
Suggested by Dmitriy in last code review.
Verified with Promela model.

When there's actual contention for the atomic word,
this avoids the looping that compare-and-swap requires.

benchmark                            old ns/op    new ns/op    delta
runtime_test.BenchmarkSyscall               32           26  -17.08%
runtime_test.BenchmarkSyscall-2            155           59  -61.81%
runtime_test.BenchmarkSyscall-3            112           52  -52.95%
runtime_test.BenchmarkSyscall-4             94           48  -48.57%
runtime_test.BenchmarkSyscallWork          871          872   +0.11%
runtime_test.BenchmarkSyscallWork-2        481          477   -0.83%
runtime_test.BenchmarkSyscallWork-3        338          335   -0.89%
runtime_test.BenchmarkSyscallWork-4        263          256   -2.66%

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/4800047

13 years agold: fixes .bss for ldpe
Wei Guangjing [Sat, 23 Jul 2011 16:21:13 +0000 (12:21 -0400)]
ld: fixes .bss for ldpe

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4794056

13 years agoexp/template: construct sets from plain template files
Rob Pike [Sat, 23 Jul 2011 08:10:30 +0000 (18:10 +1000)]
exp/template: construct sets from plain template files
This is the last piece (I hope) of the set creation code.
These helpers create sets from files containing individual
template definitions, free of {{define}} clauses. This
design is helpful if the templates live one per file,
undecorated.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4801052

13 years agofix build: clean up file end in an attempt to fix build
Robert Griesemer [Sat, 23 Jul 2011 05:45:14 +0000 (22:45 -0700)]
fix build: clean up file end in an attempt to fix build

R=r, iant
CC=golang-dev
https://golang.org/cl/4809050

13 years agogodoc/httpzip.go: use correct path in Readdir
Robert Griesemer [Sat, 23 Jul 2011 05:24:04 +0000 (22:24 -0700)]
godoc/httpzip.go: use correct path in Readdir

Fixes a problem where Readdir would always return
empty directories (Readdir is only called by godoc
if the usual directory handler is commented out
in godoc.go, and if a zip file system is provided;
thus, this bug never manifested itself in godoc).

Also:
- better choice of variable/field names
- simplified error handling a bit
- better comments

R=bradfitz
CC=golang-dev
https://golang.org/cl/4813047

13 years agozip: add a test for the previous >65k files fix
Brad Fitzpatrick [Sat, 23 Jul 2011 01:30:07 +0000 (18:30 -0700)]
zip: add a test for the previous >65k files fix

This surprisingly takes 30 seconds on my fast machine
so disabling by default. Need to optimize the Writer
at some point.

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/4815048

13 years agolib9: use $PWD in getwd
Russ Cox [Sat, 23 Jul 2011 01:21:17 +0000 (21:21 -0400)]
lib9: use $PWD in getwd

This makes the full file paths recorded by 6g
prefer $PWD over the actual directory name
(relevant when $PWD gets to the current directory
via symlinks).  It's what everyone else does, and
what people expect.

R=iant, r, mattn.jp
CC=golang-dev
https://golang.org/cl/4824041

13 years agold: fixes ldpe link with SXREF global values.
Wei Guangjing [Sat, 23 Jul 2011 01:21:08 +0000 (21:21 -0400)]
ld: fixes ldpe link with SXREF global values.

R=golang-dev, mattn.jp, rsc
CC=golang-dev
https://golang.org/cl/4794052

13 years agold: detect all import cycles
Russ Cox [Sat, 23 Jul 2011 01:18:03 +0000 (21:18 -0400)]
ld: detect all import cycles

Fixes #2052.

R=r
CC=golang-dev
https://golang.org/cl/4812053

13 years agosort: remove testing cycle
Russ Cox [Sat, 23 Jul 2011 01:17:46 +0000 (21:17 -0400)]
sort: remove testing cycle

import cycle:
        "testing"
        imports "flag"
        imports "sort"
        imports "testing"

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4811048

13 years agogodoc/zip.go: fix another zip file system bug
Robert Griesemer [Fri, 22 Jul 2011 22:21:50 +0000 (15:21 -0700)]
godoc/zip.go: fix another zip file system bug

Don't report that a directory was found just because we found
the list index where the directory would be if it were there...

R=iant
CC=golang-dev
https://golang.org/cl/4812051

13 years agogo/parser: report illegal label declarations at ':' rather than guessing the start
Robert Griesemer [Fri, 22 Jul 2011 16:55:37 +0000 (09:55 -0700)]
go/parser: report illegal label declarations at ':' rather than guessing the start

Also:
- Add parser.SpuriousError flag. If set, the parser reports all (including
  spurious) errors rather then at most one error per line.
- Add -e flag to gofmt and gotype: If set, gofmt and gotype report all
  (including spurious) errors rather than at most one error per line.
- Updated the respective documentation.

Fixes #2088.

R=rsc
CC=golang-dev
https://golang.org/cl/4803047

13 years agogoyacc: cleanups
Rob Pike [Fri, 22 Jul 2011 07:58:38 +0000 (17:58 +1000)]
goyacc: cleanups
- remove calls to print
- make units compile again
- make units.y closer to gofmt style

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4802052

13 years agoexp/template: trivial cleanup in test
Rob Pike [Fri, 22 Jul 2011 07:52:46 +0000 (17:52 +1000)]
exp/template: trivial cleanup in test
Clean up glitch created by flurry of editing.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4808052

13 years agopkg/http: fix a couple of error messages
Rob Pike [Fri, 22 Jul 2011 07:11:44 +0000 (17:11 +1000)]
pkg/http: fix a couple of error messages

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4805048

13 years agoarchive/zip: handle zip files with more than 65535 files
Andrew Gerrand [Fri, 22 Jul 2011 04:57:17 +0000 (14:57 +1000)]
archive/zip: handle zip files with more than 65535 files

R=r
CC=golang-dev
https://golang.org/cl/4812048

13 years agoruntime: add UpdateMemStats, use in tests
Russ Cox [Fri, 22 Jul 2011 04:55:01 +0000 (00:55 -0400)]
runtime: add UpdateMemStats, use in tests

Drops mallocrep1.go back to a reasonable
amount of time.  (154 -> 0.8 seconds on my Mac)

Fixes #2085.

R=golang-dev, dvyukov, r
CC=golang-dev
https://golang.org/cl/4811045

13 years agoexp/template: add globbing helpers to load groups of files into sets.
Rob Pike [Fri, 22 Jul 2011 03:55:45 +0000 (13:55 +1000)]
exp/template: add globbing helpers to load groups of files into sets.
Also make the Set.Parse methods variadic so you can parse static lists of files without loops.

R=rsc, dsymonds, r
CC=golang-dev
https://golang.org/cl/4802051

13 years agohttp: clarify use of w.conn.body in Write when sniffing.
David Symonds [Fri, 22 Jul 2011 03:52:21 +0000 (13:52 +1000)]
http: clarify use of w.conn.body in Write when sniffing.

R=gri, r, r, rsc
CC=golang-dev
https://golang.org/cl/4794047

13 years agoexp/template: plain actions with declarations should produce no output.
Rob Pike [Fri, 22 Jul 2011 00:51:40 +0000 (10:51 +1000)]
exp/template: plain actions with declarations should produce no output.
This is already the behavior for pipelines producing values for if, with, and range.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4808050

13 years agoexp/template: fix action variable declarations inside range
Roger Peppe [Thu, 21 Jul 2011 23:53:25 +0000 (09:53 +1000)]
exp/template: fix action variable declarations inside range

R=r
CC=golang-dev
https://golang.org/cl/4807043

13 years agobig: minor comment adjustments
Robert Griesemer [Thu, 21 Jul 2011 22:01:58 +0000 (15:01 -0700)]
big: minor comment adjustments

R=mtj, r
CC=golang-dev
https://golang.org/cl/4814044

13 years agobig: refine printf formatting and optimize string conversion
Michael T. Jones [Thu, 21 Jul 2011 21:29:08 +0000 (14:29 -0700)]
big: refine printf formatting and optimize string conversion

Now handles standard precision specifications, standard interactions of
redundant specifications (such as precision and zero-fill), handles the
special case of precision specified but equal to zero, and generates the
output without recursive calls to format/printf to be clearer and faster.

R=gri, mtj, gri
CC=golang-dev
https://golang.org/cl/4703050

13 years agohttp: fix chunking bug during content sniffing
Russ Cox [Thu, 21 Jul 2011 18:29:14 +0000 (14:29 -0400)]
http: fix chunking bug during content sniffing

R=golang-dev, bradfitz, gri
CC=golang-dev
https://golang.org/cl/4807044

13 years agogc: select functions are no longer special
Russ Cox [Thu, 21 Jul 2011 18:10:39 +0000 (14:10 -0400)]
gc: select functions are no longer special

R=ken2
CC=golang-dev
https://golang.org/cl/4794049

13 years agoruntime: faster select
Dmitriy Vyukov [Thu, 21 Jul 2011 17:57:13 +0000 (13:57 -0400)]
runtime: faster select

Make selectsend() accept pointer to the element,
it makes it possible to make Scase fixed-size
and allocate/free Select, all Scase's and all SudoG at once.
As a consequence SudoG freelist die out.

benchmark                       old,ns/op  new,ns/op
BenchmarkSelectUncontended      1080        558
BenchmarkSelectUncontended-2       675        264
BenchmarkSelectUncontended-4       459        205
BenchmarkSelectContended      1086        560
BenchmarkSelectContended-2      1775       1672
BenchmarkSelectContended-4      2668       2149
(on Intel Q6600, 4 cores, 2.4GHz)

benchmark                       old ns/op    new ns/op    delta
BenchmarkSelectUncontended         517.00       326.00  -36.94%
BenchmarkSelectUncontended-2       281.00       166.00  -40.93%
BenchmarkSelectUncontended-4       250.00        83.10  -66.76%
BenchmarkSelectUncontended-8       107.00        47.40  -55.70%
BenchmarkSelectUncontended-16       67.80        41.30  -39.09%
BenchmarkSelectContended           513.00       325.00  -36.65%
BenchmarkSelectContended-2         699.00       628.00  -10.16%
BenchmarkSelectContended-4        1085.00      1092.00   +0.65%
BenchmarkSelectContended-8        3253.00      2477.00  -23.85%
BenchmarkSelectContended-16       5313.00      5116.00   -3.71%
(on Intel E5620, 8 HT cores, 2.4 GHz)

R=rsc, ken
CC=golang-dev
https://golang.org/cl/4811041

13 years agoundo CL 4808044 / 1bd754e69ce7
Russ Cox [Thu, 21 Jul 2011 17:25:55 +0000 (13:25 -0400)]
undo CL 4808044 / 1bd754e69ce7

ServeMux depends on having a URL
in order to mux.  It might be that the right
fix is to have CONNECT handlers just not
look at URL.

««« original CL description
http: do not parse req.URL for CONNECT

CONNECT's argument is not a URL.

R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4808044

»»»

TBR=bradfitz
CC=golang-dev
https://golang.org/cl/4798046

13 years agohttp: do not parse req.URL for CONNECT
Yasuhiro Matsumoto [Thu, 21 Jul 2011 15:33:59 +0000 (11:33 -0400)]
http: do not parse req.URL for CONNECT

CONNECT's argument is not a URL.

R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4808044

13 years agotesting: output benchmark name before executing it
Dmitriy Vyukov [Thu, 21 Jul 2011 15:31:07 +0000 (11:31 -0400)]
testing: output benchmark name before executing it
It makes it clear what benchmark is currently running.
Especially useful in case of hangup or crash.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4816043

13 years agosync: improve Once fast path
Dmitriy Vyukov [Thu, 21 Jul 2011 15:30:14 +0000 (11:30 -0400)]
sync: improve Once fast path
Use atomic.LoadUint32(&done) instead of
atomic.AddInt32(&done, 0) on fast path.

benchmark            old ns/op    new ns/op    delta
BenchmarkOnce            13.40         7.26  -45.82%
BenchmarkOnce-2          22.90         4.04  -82.36%
BenchmarkOnce-4          25.60         2.16  -91.56%
BenchmarkOnce-8          25.80         1.38  -94.65%
BenchmarkOnce-16         24.40         1.33  -94.55%

(on HP Z600, 2 x Intel Xeon E5620, 8 HT cores, 2.4 GHz)

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4787041

13 years agoruntime: replace centralized ncgocall counter with a distributed one
Dmitriy Vyukov [Thu, 21 Jul 2011 15:29:08 +0000 (11:29 -0400)]
runtime: replace centralized ncgocall counter with a distributed one

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4809042

13 years agohttp: disable sniffer for now.
David Symonds [Thu, 21 Jul 2011 12:20:09 +0000 (22:20 +1000)]
http: disable sniffer for now.

Something is broken, and investigation is underway.
In the meantime, godoc is broken, so disable sniffing for now
by reverting to the pre-sniffer state.

R=r
CC=golang-dev
https://golang.org/cl/4809046

13 years agold: fix freebsd build reverting .interp move
Gustavo Niemeyer [Thu, 21 Jul 2011 06:48:56 +0000 (03:48 -0300)]
ld: fix freebsd build reverting .interp move

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4794046

13 years agofmt: handle precision 0 format stings in standard way
Michael T. Jones [Thu, 21 Jul 2011 06:46:51 +0000 (16:46 +1000)]
fmt: handle precision 0 format stings in standard way

The C-stdlib heritage of printf/fprintf/sprintf has two odd
aspects for precisions of zero with integers. First, the zero
can be specified in any of these ways, "%4.0d", "%.0d" and
"%.d" which was not previously supported here. Secondly, the
seemingly universal interpretation of precision for integers
is that precision==0 and value==0 means print nothing at all.
The code here now handles this for integers just as the code
in big/int.c does the same for the Int type. New tests are
added to fmt_test.go to verify these changes.

R=r, r
CC=golang-dev
https://golang.org/cl/4717045

13 years agoexp/template: A template can be in one set only.
Rob Pike [Thu, 21 Jul 2011 04:22:01 +0000 (14:22 +1000)]
exp/template: A template can be in one set only.
This simplifies the API and makes it easier to make the template
invocation statically secure, at the cost of some minor flexibility.

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/4794045

13 years agohtml: sync html/testdata/webkit with upstream WebKit.
Nigel Tao [Thu, 21 Jul 2011 02:50:45 +0000 (12:50 +1000)]
html: sync html/testdata/webkit with upstream WebKit.

As $GOROOT/src/pkg/html/testdata/webkit/README says, we're pulling from
$WEBKITROOT/LayoutTests/html5lib/resources.

R=r
CC=golang-dev
https://golang.org/cl/4810043

13 years agohtml: parse misnested formatting tags according to the HTML5 spec.
Nigel Tao [Thu, 21 Jul 2011 01:20:54 +0000 (11:20 +1000)]
html: parse misnested formatting tags according to the HTML5 spec.
This is the "adoption agency" algorithm.

The test case input is "<a><p>X<a>Y</a>Z</p></a>". The correct parse is:
| <html>
|   <head>
|   <body>
|     <a>
|     <p>
|       <a>
|         "X"
|       <a>
|         "Y"
|       "Z"

R=gri
CC=golang-dev
https://golang.org/cl/4771042

13 years agogob: send empty but non-nil maps.
Rob Pike [Thu, 21 Jul 2011 00:27:11 +0000 (10:27 +1000)]
gob: send empty but non-nil maps.
Fixes #2082.

R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/4798042

13 years agogodoc: fix zip file directory lookup
Robert Griesemer [Wed, 20 Jul 2011 23:22:13 +0000 (16:22 -0700)]
godoc: fix zip file directory lookup

Also: remove left-over println calls.

R=bradfitz
CC=golang-dev
https://golang.org/cl/4807042

13 years agohtml: handle character entities without semicolons
Andrew Balholm [Wed, 20 Jul 2011 23:10:49 +0000 (09:10 +1000)]
html: handle character entities without semicolons

Fix the TODO: unescape("&notit;") should be "¬it;"

Also accept digits in entity names.

R=nigeltao
CC=golang-dev, rsc
https://golang.org/cl/4781042

13 years agohttp: sniffing algorithm.
David Symonds [Wed, 20 Jul 2011 22:38:35 +0000 (08:38 +1000)]
http: sniffing algorithm.

This follows draft-ietf-websec-mime-sniff-03 in its intent,
though not its algorithmic specification.

R=rsc
CC=golang-dev
https://golang.org/cl/4746042

13 years agoio/ioutil: improve performance of ioutil.Discard
Mike Solomon [Wed, 20 Jul 2011 21:34:49 +0000 (14:34 -0700)]
io/ioutil: improve performance of ioutil.Discard
Fixes #2084.

R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4817041