]>
Cypherpunks repositories - gostls13.git/log
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Andrew Balholm [Wed, 20 Jul 2011 23:10:49 +0000 (09:10 +1000)]
html: handle character entities without semicolons
Fix the TODO: unescape("¬it;") should be "¬it;"
Also accept digits in entity names.
R=nigeltao
CC=golang-dev, rsc
https://golang.org/cl/
4781042
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
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
Brad Fitzpatrick [Wed, 20 Jul 2011 20:30:46 +0000 (13:30 -0700)]
CONTRIBUTORS: add Mike Solomon (Google CLA)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/
4818041
Brad Fitzpatrick [Wed, 20 Jul 2011 18:38:18 +0000 (11:38 -0700)]
os: point readers at the exec package
R=golang-dev, evan, rsc
CC=golang-dev
https://golang.org/cl/
4802046
Dmitriy Vyukov [Wed, 20 Jul 2011 18:28:55 +0000 (14:28 -0400)]
runtime: apply minor tweaks to channels
Remove complicated PRNG algorithm
(argument is limited by uint16 and can't be <= 1).
Do not require chansend/chanrecv selgen to be bumped with CAS.
R=rsc, ken
CC=golang-dev
https://golang.org/cl/
4816041
Dmitriy Vyukov [Wed, 20 Jul 2011 15:51:25 +0000 (11:51 -0400)]
runtime: improve performance of sync channels
1. SudoG always contains a pointer to the element
(thus no variable size, and less copying).
2. chansend/chanrecv allocate SudoG on the stack.
3. Copying of elements and gorotuine notifications
are moved out of critical sections.
benchmark old ns/op new ns/op delta
BenchmarkSelectUncontended 515.00 514.00 -0.19%
BenchmarkSelectUncontended-2 291.00 281.00 -3.44%
BenchmarkSelectUncontended-4 213.00 189.00 -11.27%
BenchmarkSelectUncontended-8 78.30 79.00 +0.89%
BenchmarkSelectContended 518.00 514.00 -0.77%
BenchmarkSelectContended-2 655.00 631.00 -3.66%
BenchmarkSelectContended-4 1026.00 1051.00 +2.44%
BenchmarkSelectContended-8 2026.00 2128.00 +5.03%
BenchmarkSelectNonblock 175.00 173.00 -1.14%
BenchmarkSelectNonblock-2 85.10 87.70 +3.06%
BenchmarkSelectNonblock-4 60.10 43.30 -27.95%
BenchmarkSelectNonblock-8 37.60 25.50 -32.18%
BenchmarkChanUncontended 109.00 114.00 +4.59%
BenchmarkChanUncontended-2 54.60 57.20 +4.76%
BenchmarkChanUncontended-4 27.40 28.70 +4.74%
BenchmarkChanUncontended-8 14.60 15.10 +3.42%
BenchmarkChanContended 108.00 114.00 +5.56%
BenchmarkChanContended-2 621.00 617.00 -0.64%
BenchmarkChanContended-4 759.00 677.00 -10.80%
BenchmarkChanContended-8 1635.00 1517.00 -7.22%
BenchmarkChanSync 299.00 256.00 -14.38%
BenchmarkChanSync-2 5055.00 4624.00 -8.53%
BenchmarkChanSync-4 4998.00 4680.00 -6.36%
BenchmarkChanSync-8 5019.00 4760.00 -5.16%
BenchmarkChanProdCons0 316.00 274.00 -13.29%
BenchmarkChanProdCons0-2 1280.00 617.00 -51.80%
BenchmarkChanProdCons0-4 2433.00 1332.00 -45.25%
BenchmarkChanProdCons0-8 3651.00 1934.00 -47.03%
BenchmarkChanProdCons10 153.00 152.00 -0.65%
BenchmarkChanProdCons10-2 626.00 581.00 -7.19%
BenchmarkChanProdCons10-4 1440.00 1323.00 -8.12%
BenchmarkChanProdCons10-8 2036.00 2017.00 -0.93%
R=rsc, ken
CC=golang-dev
https://golang.org/cl/
4790042
Gustavo Niemeyer [Wed, 20 Jul 2011 15:47:02 +0000 (12:47 -0300)]
ld: remove overlap of ELF sections on dynamic binaries
The dynamic ELF sections were pointing to the proper data,
but that data was already owned by the rodata and text sections.
Some ELF references explicitly prohibit multiple sections from
owning the same data, and strip behaves accordingly.
The data for these sections was moved out and their ranges are
now owned by their respective sections. This change makes strip
happy both with and without -s being provided at link time.
A test was added in debug/elf to ensure there are no regressions
on this area in the future.
Fixes #1242.
Fixes #2022.
NOTE: Tested on Linux amd64/386/arm only.
R=rsc
CC=golang-dev
https://golang.org/cl/
4808043
Russ Cox [Wed, 20 Jul 2011 15:41:41 +0000 (11:41 -0400)]
net/textproto: fix build
R=bradfitz
CC=golang-dev
https://golang.org/cl/
4815041
Russ Cox [Wed, 20 Jul 2011 15:11:57 +0000 (11:11 -0400)]
net/textproto: avoid 1 copy in ReadLine, ReadContinuedLine
Fixes #2083.
R=msolo, bradfitz
CC=golang-dev
https://golang.org/cl/
4812042
Marcel van Lohuizen [Wed, 20 Jul 2011 09:46:05 +0000 (19:46 +1000)]
exp/norm: API for normalization library.
R=r, r, mpvl, rsc
CC=golang-dev
https://golang.org/cl/
4678041
Andrew Gerrand [Wed, 20 Jul 2011 06:07:40 +0000 (16:07 +1000)]
gobuilder: goinstall with -dashboard=false instead of -log=false
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
4801043
Andrew Gerrand [Wed, 20 Jul 2011 05:48:36 +0000 (15:48 +1000)]
tag weekly.2011-07-19
R=r
CC=golang-dev
https://golang.org/cl/
4802043
Andrew Gerrand [Wed, 20 Jul 2011 05:45:55 +0000 (15:45 +1000)]
weekly.2011-07-19
R=golang-dev, nigeltao, dsymonds, r
CC=golang-dev
https://golang.org/cl/
4801042
Andrew Gerrand [Wed, 20 Jul 2011 01:22:56 +0000 (11:22 +1000)]
misc/dashboard: center align build results
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/
4806041
Rob Pike [Tue, 19 Jul 2011 22:39:24 +0000 (08:39 +1000)]
sync/atomic: delete workaround
Load seems to work on arm now.
R=dsymonds
CC=golang-dev
https://golang.org/cl/
4795042
Robert Griesemer [Tue, 19 Jul 2011 15:22:20 +0000 (08:22 -0700)]
godoc: implement http.FileSystem for zip files
R=rsc, adg, bradfitz
CC=golang-dev
https://golang.org/cl/
4750047
Lucio De Re [Tue, 19 Jul 2011 15:04:33 +0000 (11:04 -0400)]
runtime: make goc2c build on Plan 9
pkg/runtime/Makefile:
. Adjusted so "goc2c.c" is built using the Plan 9 libraries.
pkg/runtime/goc2c.c:
. Added/subtracted #include headers to correspond to Plan 9
toolkit.
. Changed fprintf(stderr,...)/exit() combinations to
sysfatal() calls, adjusted the "%u" format to "%ud".
. Added exits(0) at the end of main().
. Made main() a void-returning function and removed the
"return 0" at the end of it.
Tested on UBUNTU and Plan 9 only.
R=r, rsc
CC=golang-dev
https://golang.org/cl/
4626093
Russ Cox [Tue, 19 Jul 2011 15:01:17 +0000 (11:01 -0400)]
runtime: faster entersyscall, exitsyscall
Uses atomic memory accesses to avoid the need to acquire
and release schedlock on fast paths.
benchmark old ns/op new ns/op delta
runtime_test.BenchmarkSyscall 73 31 -56.63%
runtime_test.BenchmarkSyscall-2 538 74 -86.23%
runtime_test.BenchmarkSyscall-3 508 103 -79.72%
runtime_test.BenchmarkSyscall-4 721 97 -86.52%
runtime_test.BenchmarkSyscallWork 920 873 -5.11%
runtime_test.BenchmarkSyscallWork-2 516 481 -6.78%
runtime_test.BenchmarkSyscallWork-3 550 343 -37.64%
runtime_test.BenchmarkSyscallWork-4 632 263 -58.39%
(Intel Core i7 L640 2.13 GHz-based Lenovo X201s)
Reduced a less artificial server benchmark
from 11.5r 12.0u 8.0s to 8.3r 9.1u 1.0s.
R=dvyukov, r, bradfitz, r, iant, iant
CC=golang-dev
https://golang.org/cl/
4723042
Wei Guangjing [Tue, 19 Jul 2011 14:47:33 +0000 (10:47 -0400)]
cgo: windows amd64 port
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/
4725041
Dmitriy Vyukov [Tue, 19 Jul 2011 12:10:07 +0000 (22:10 +1000)]
sync/atomic: fix LoadInt32 on ARM
R0 is clobbered after cas,
while R1 preserves its value.
R=golang-dev
CC=golang-dev
https://golang.org/cl/
4782042
Rob Pike [Tue, 19 Jul 2011 07:06:13 +0000 (17:06 +1000)]
sync/atomic: attempt to get the arm build green.
Disable the LoadInt32 and LoadUint32 tests, since they fail.
These should be fixed but we want to get through the rest of the build
to see if something else unrelated is broken. The arm build has been
bad for a long time.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/
4780041
Tarmigan Casebolt [Tue, 19 Jul 2011 06:58:18 +0000 (16:58 +1000)]
goinstall, dashboard: Google Code now supports git
R=golang-dev, adg, rsc, tarmigan+golang
CC=golang-dev
https://golang.org/cl/
4760055
Rob Pike [Tue, 19 Jul 2011 05:44:25 +0000 (15:44 +1000)]
5l: fix arm linker bug introduced by
4742041
Should fix the arm build.
R=golang-dev, dsymonds, adg
CC=golang-dev
https://golang.org/cl/
4777041
Andrew Gerrand [Tue, 19 Jul 2011 04:10:12 +0000 (14:10 +1000)]
doc/talks/io2010: handle the errors
R=golang-dev, dsymonds, dsymonds, r
CC=golang-dev
https://golang.org/cl/
4771041
Alex Brainman [Tue, 19 Jul 2011 04:02:23 +0000 (14:02 +1000)]
go/build: fixes for windows paths
R=golang-dev, mattn.jp, adg
CC=golang-dev
https://golang.org/cl/
4746047
Robert Griesemer [Tue, 19 Jul 2011 03:30:44 +0000 (20:30 -0700)]
archive/zip: support functions to get modified time in ns from MS-DOS time
R=rsc, r, bradfitz, r, adg
CC=golang-dev
https://golang.org/cl/
4748056
Alex Brainman [Tue, 19 Jul 2011 03:18:21 +0000 (13:18 +1000)]
exp/wingui: make sure it builds again
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
4770041
Rob Pike [Tue, 19 Jul 2011 01:47:15 +0000 (11:47 +1000)]
gif: fix local color map and coordinates
R=nigeltao
CC=golang-dev
https://golang.org/cl/
4759051
Andrew Gerrand [Tue, 19 Jul 2011 01:12:10 +0000 (11:12 +1000)]
dashboard: list "most installed this week" with rolling count
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/
4631085
Robert Griesemer [Tue, 19 Jul 2011 00:54:32 +0000 (17:54 -0700)]
time: typo in documentation
R=r
CC=golang-dev
https://golang.org/cl/
4763048
Hector Chu [Mon, 18 Jul 2011 20:15:01 +0000 (16:15 -0400)]
runtime: fix select pass 3
Fixes #2075
R=rsc, ken, r
CC=golang-dev
https://golang.org/cl/
4748045
Russ Cox [Mon, 18 Jul 2011 19:50:55 +0000 (15:50 -0400)]
runtime: track running goroutine count
Used to use mcpu+msyscall but that's
problematic for packing into a single
atomic word. The running goroutine count
(where running == Go code or syscall)
can be maintained separately, always
manipulated under lock.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/
4767041
Dmitriy Vyukov [Mon, 18 Jul 2011 18:56:22 +0000 (14:56 -0400)]
runtime: add per-M caches for MemStats
Avoid touching centralized state during
memory manager operations.
R=mirtchovski
CC=golang-dev, rsc
https://golang.org/cl/
4766042
Dmitriy Vyukov [Mon, 18 Jul 2011 18:52:57 +0000 (14:52 -0400)]
runtime: add per-M caches for MemStats
Avoid touching centralized state during
memory manager opreations.
R=rsc
CC=golang-dev
https://golang.org/cl/
4766042
Ian Lance Taylor [Mon, 18 Jul 2011 16:55:09 +0000 (09:55 -0700)]
debug/proc: Remove.
The package was always GNU/Linux specific, and is no longer
used by anything now that exp/ogle has been removed.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/
4757049
Dmitriy Vyukov [Mon, 18 Jul 2011 16:35:55 +0000 (12:35 -0400)]
sync: add fast paths to WaitGroup
benchmark old ns/op new ns/op delta
BenchmarkWaitGroupUncontended 93.50 33.60 -64.06%
BenchmarkWaitGroupUncontended-2 44.30 16.90 -61.85%
BenchmarkWaitGroupUncontended-4 21.80 8.47 -61.15%
BenchmarkWaitGroupUncontended-8 12.10 4.86 -59.83%
BenchmarkWaitGroupUncontended-16 7.38 3.35 -54.61%
BenchmarkWaitGroupAddDone 58.40 33.70 -42.29%
BenchmarkWaitGroupAddDone-2 293.00 85.80 -70.72%
BenchmarkWaitGroupAddDone-4 243.00 51.10 -78.97%
BenchmarkWaitGroupAddDone-8 236.00 52.20 -77.88%
BenchmarkWaitGroupAddDone-16 215.00 43.30 -79.86%
BenchmarkWaitGroupAddDoneWork 826.00 794.00 -3.87%
BenchmarkWaitGroupAddDoneWork-2 450.00 424.00 -5.78%
BenchmarkWaitGroupAddDoneWork-4 277.00 220.00 -20.58%
BenchmarkWaitGroupAddDoneWork-8 440.00 116.00 -73.64%
BenchmarkWaitGroupAddDoneWork-16 569.00 66.50 -88.31%
BenchmarkWaitGroupWait 29.00 8.04 -72.28%
BenchmarkWaitGroupWait-2 74.10 4.15 -94.40%
BenchmarkWaitGroupWait-4 117.00 2.30 -98.03%
BenchmarkWaitGroupWait-8 111.00 1.31 -98.82%
BenchmarkWaitGroupWait-16 104.00 1.27 -98.78%
BenchmarkWaitGroupWaitWork 802.00 792.00 -1.25%
BenchmarkWaitGroupWaitWork-2 411.00 401.00 -2.43%
BenchmarkWaitGroupWaitWork-4 210.00 199.00 -5.24%
BenchmarkWaitGroupWaitWork-8 206.00 105.00 -49.03%
BenchmarkWaitGroupWaitWork-16 334.00 54.40 -83.71%
R=rsc
CC=golang-dev
https://golang.org/cl/
4672050
Russ Cox [Mon, 18 Jul 2011 16:30:10 +0000 (12:30 -0400)]
5l: assume Linux binary, not Plan 9
R=bradfitz
CC=golang-dev
https://golang.org/cl/
4767042
Brad Fitzpatrick [Mon, 18 Jul 2011 16:04:48 +0000 (09:04 -0700)]
http: let FileServer work when path doesn't begin with a slash
... as when it's over-stripped with StripPrefix.
R=golang-dev, andybalholm, rsc
CC=golang-dev
https://golang.org/cl/
4759052
Russ Cox [Mon, 18 Jul 2011 16:04:09 +0000 (12:04 -0400)]
ld: allow seek within write buffer
Reduces number of write+seek's from 88516 to 2080
when linking godoc with 6l.
Thanks to Alex Brainman for pointing out the
many small writes.
R=golang-dev, r, alex.brainman, robert.hencke
CC=golang-dev
https://golang.org/cl/
4743043
Albert Strasheim [Mon, 18 Jul 2011 15:21:59 +0000 (11:21 -0400)]
syscall: Parse and encode SCM_RIGHTS and SCM_CREDENTIALS.
R=rsc, agl, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/
4667066
Dmitriy Vyukov [Mon, 18 Jul 2011 14:50:04 +0000 (10:50 -0400)]
runtime: fix data race in Plan9 sysalloc
Add mutex to protect brk limit.
Add mstats.sys update.
R=rsc
CC=golang-dev
https://golang.org/cl/
4762045
Brad Fitzpatrick [Mon, 18 Jul 2011 14:23:52 +0000 (07:23 -0700)]
cgo: add missing semicolon in generated struct
This affected certain signatures needing padding
like:
//export Foo
func Foo() (int, C.long) { ... }
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/
4745047
Dave Cheney [Mon, 18 Jul 2011 11:09:28 +0000 (21:09 +1000)]
gc: fix silent sign truncation in pgen.c
Fixes #2076.
R=golang-dev, r, r, dsymonds, lucio.dere
CC=golang-dev
https://golang.org/cl/
4744047
Rob Pike [Mon, 18 Jul 2011 07:34:42 +0000 (17:34 +1000)]
exp/template: dig into empty interfaces so a struct (say) stored in an empty
interface field can be unpacked. We don't have type assertions here so we
must be forthright.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/
4757047
Andrew Gerrand [Mon, 18 Jul 2011 07:30:00 +0000 (17:30 +1000)]
doc: fix padding on h1 tags
See /doc/codewalk/sharemem/ for an example of how it's broken.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
4742044
Alex Brainman [Mon, 18 Jul 2011 07:08:12 +0000 (17:08 +1000)]
path/filepath: fixes for windows paths
- Clean and IsAbs to handle paths with drive letter properly.
- Clean to replace / with \.
R=golang-dev, adg
CC=golang-dev, mattn.jp
https://golang.org/cl/
4758051
Nigel Tao [Mon, 18 Jul 2011 05:54:11 +0000 (15:54 +1000)]
runtime: fix panic for make(chan [0]byte).
I suspect that this was introduced by
http://code.google.com/p/go/source/detail?r=
6e4ee32fffd1
R=r
CC=golang-dev
https://golang.org/cl/
4764045
David Symonds [Mon, 18 Jul 2011 02:59:16 +0000 (12:59 +1000)]
http: drain the pipe output in TestHandlerPanic to avoid logging deadlock.
R=r
CC=golang-dev
https://golang.org/cl/
4756047
Rob Pike [Mon, 18 Jul 2011 01:44:27 +0000 (11:44 +1000)]
fmt: fix a couple of documentation glitches.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/
4758050
Rob Pike [Mon, 18 Jul 2011 01:34:13 +0000 (11:34 +1000)]
reflect: panic if Method index is out of range for a type.
Makes the code agree with the documentation.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/
4759050
Rob Pike [Mon, 18 Jul 2011 01:08:55 +0000 (11:08 +1000)]
5c: attempt to fix build by silencing warnings about unused variables.
The story is more complicated; this is just a bandaid.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/
4755047
Quan Yong Zhai [Mon, 18 Jul 2011 00:48:31 +0000 (10:48 +1000)]
gob: minor cleanup
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
4754050
Rob Pike [Mon, 18 Jul 2011 00:05:35 +0000 (10:05 +1000)]
fmt: Scan(&int) was mishandling a lone zero.
It took it as an octal base prefix but assumed more digits were coming.
Fixes #2077.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/
4764044
Lucio De Re [Sun, 17 Jul 2011 22:46:47 +0000 (08:46 +1000)]
cmd/5l/Makefile: directory prefix nit, "../5l/" is not needed.
R=golang-dev, r
CC=golang-dev, rsc
https://golang.org/cl/
4755046
Brad Fitzpatrick [Sun, 17 Jul 2011 22:46:10 +0000 (15:46 -0700)]
http: make tests quiet, fixing a test race
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/
4754044