- 24 Jan, 2012 4 commits
-
-
Gustavo Niemeyer authored
Includes gofix module. The only case not covered should be xml.Unmarshal, since it remains with a similar interface, and would require introspecting the type of its first argument better. Fixes #2626. R=golang-dev, rsc, gustavo CC=golang-dev https://golang.org/cl/5574053
-
Robert Griesemer authored
CL 5572043 removed the last uses of this field. The information is readily available from Type.Decl. R=rsc, golang-dev CC=golang-dev https://golang.org/cl/5570049
-
Rob Pike authored
R=nigeltao, christoph, rsc, r, tux21b CC=golang-dev https://golang.org/cl/5573048
-
Robert Griesemer authored
Also: remove an unused template variable declaration. R=adg CC=golang-dev https://golang.org/cl/5572043
-
- 23 Jan, 2012 29 commits
-
-
David G. Andersen authored
The bitLen function currently shifts out blocks of 8 bits at a time. This change replaces this sorta-linear algorithm with a log(N) one (shift out 16 bits, then 8, then 4, then 2, then 1). I left the start of it linear at 16 bits at a time so that the function continues to work with 32 or 64 bit values without any funkiness. The algorithm is similar to several of the nlz ("number of leading zeros") algorithms from "Hacker's Delight" or the "bit twiddling hacks" pages. Doesn't make a big difference to the existing benchmarks, but I'm using the code in a different context that calls bitLen much more often, so it seemed worthwhile making the existing codebase faster so that it's a better building block. Microbenchmark results on a 64-bit Macbook Pro using 6g from weekly.2012-01-20: benchmark old ns/op new ns/op delta big.BenchmarkBitLen0 4 6 +50.12% big.BenchmarkBitLen1 4 6 +33.91% big.BenchmarkBitLen2 6 6 +3.05% big.BenchmarkBitLen3 7 6 -19.05% big.BenchmarkBitLen4 9 6 -30.19% big.BenchmarkBitLen5 11 6 -42.23% big.BenchmarkBitLen8 16 6 -61.78% big.BenchmarkBitLen9 5 6 +18.29% big.BenchmarkBitLen16 18 7 -60.99% big.BenchmarkBitLen17 7 6 -4.64% big.BenchmarkBitLen31 19 7 -62.49% On an ARM machine (with the previous weekly): benchmark old ns/op new ns/op delta big.BenchmarkBitLen0 37 50 +36.56% big.BenchmarkBitLen1 59 51 -13.69% big.BenchmarkBitLen2 74 59 -20.40% big.BenchmarkBitLen3 92 60 -34.89% big.BenchmarkBitLen4 110 59 -46.09% big.BenchmarkBitLen5 127 60 -52.68% big.BenchmarkBitLen8 181 59 -67.24% big.BenchmarkBitLen9 78 60 -23.05% big.BenchmarkBitLen16 199 69 -65.13% big.BenchmarkBitLen17 91 70 -23.17% big.BenchmarkBitLen31 210 95 -54.43% R=golang-dev, dave, edsrzf, gri CC=golang-dev https://golang.org/cl/5570044
-
Russ Cox authored
This avoids the need for a custom Makefile. R=gri CC=golang-dev https://golang.org/cl/5575045
-
Russ Cox authored
TBR=r CC=golang-dev https://golang.org/cl/5571050
-
Russ Cox authored
Move error information into Package struct, so that a package can be returned even if a dependency failed to load or did not exist. This makes it possible to run 'go fix' or 'go fmt' on packages with broken dependencies or missing imports. It also enables go get -fix. The new go list -e flag lets go list process those package errors as normal data. Change p.Doc to be first sentence of package doc, not entire package doc. Makes go list -json or go list -f '{{.ImportPath}} {{.Doc}}' much more reasonable. The go tool now depends on http, which means also net and crypto/tls, both of which use cgo. Trying to make the build scripts that build the go tool understand and handle cgo is too much work. Instead, we build a stripped down version of the go tool, compiled as go_bootstrap, that substitutes an error stub for the usual HTTP code. The buildscript builds go_bootstrap, go_bootstrap builds the standard packages and commands, including the full including-HTTP-support go tool, and then go_bootstrap gets deleted. Also handle the case where the buildscript needs updating during all.bash: if it fails but a go command can be found on the current $PATH, try to regenerate it. This gracefully handles situations like adding a new file to a package used by the go tool. R=r, adg CC=golang-dev https://golang.org/cl/5553059
-
Russ Cox authored
This lets the client of go/build specify additional tags that can be recognized in a // +build directive. For example, a build for a custom environment like App Engine might include "appengine" in the BuildTags list, so that packages can be written with some files saying // +build appengine (build only on app engine) or // +build !appengine (build only when NOT on app engine) App Engine here is just a hypothetical context. I plan to use this in the cmd/go sources to distinguish the bootstrap version of cmd/go (which will not use networking) from the full version using a custom tag. It might also be useful in App Engine. Also, delete Build and Script, which we did not end up using for cmd/go and which never got turned on for real in goinstall. R=r, adg CC=golang-dev https://golang.org/cl/5554079
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5573047
-
Shenghou Ma authored
Fixes #2454. R=rsc, mikioh.mikioh, golang-dev, iant, iant CC=golang-dev https://golang.org/cl/5557068
-
Robert Griesemer authored
Golden files have extension .d.golden where d is the mode value (0 or 1 for now) (i.e., testdata/file.out is now testdata/file.0.golden, and there is a new file testdata/file.1.golden for each testcase) R=rsc CC=golang-dev https://golang.org/cl/5573046
-
Marcel van Lohuizen authored
for map iteration. New code makes table output predictable and fixes bug. R=rsc, r CC=golang-dev https://golang.org/cl/5573044
-
Mikio Hara authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5562047
-
Russ Cox authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5571046
-
Rob Pike authored
Google contributor. R=golang-dev, iant CC=golang-dev https://golang.org/cl/5554084
-
Rob Pike authored
So it's not included in the package by the go tool. R=iant, fullung, rsc CC=golang-dev https://golang.org/cl/5563049
-
Rob Pike authored
Document that indirection through a nil pointer will panic. Explain function invocation. This section will need more work, but it's a start. Fixes #1865. Fixes #2252. R=rsc, iant, r CC=golang-dev https://golang.org/cl/5532114
-
Rob Pike authored
R=adg, rsc, r CC=golang-dev https://golang.org/cl/5562051
-
Luuk van Dijk authored
Fixes #2674. R=rsc CC=golang-dev https://golang.org/cl/5574045
-
Luuk van Dijk authored
Fixes #2582 R=rsc CC=golang-dev https://golang.org/cl/5574044
-
Ivan Krasin authored
R=rsc CC=golang-dev https://golang.org/cl/5555071
-
Mikkel Krautz authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5561060
-
Ivan Krasin authored
R=rsc, nigeltao CC=golang-dev https://golang.org/cl/5561056
-
Ivan Krasin authored
R=rsc CC=golang-dev https://golang.org/cl/5555070
-
Russ Cox authored
iant's idea. Fixes #2745. R=iant, dsymonds CC=golang-dev https://golang.org/cl/5536085
-
Robert Griesemer authored
Invaluable when changing template files. R=golang-dev, adg CC=golang-dev https://golang.org/cl/5571044
-
Gustavo Niemeyer authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5564045
-
Gustavo Niemeyer authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5564046
-
Robert Griesemer authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5571043
-
Robert Griesemer authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5569043
-
Gustavo Niemeyer authored
Marshalling of []byte in attributes and the general marshalling of named []byte types was fixed. A []byte field also won't be nil if an XML element was mapped to it, even if the element is empty. Tests were introduced to make sure that *struct{} fields works correctly for element presence testing. No changes to the logic made in that regard. R=rsc CC=golang-dev https://golang.org/cl/5539070
-
Olivier Duperray authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5568043
-
- 22 Jan, 2012 7 commits
-
-
Olivier Duperray authored
R=adg CC=golang-dev https://golang.org/cl/5554073
-
Andrew Gerrand authored
R=rsc CC=golang-dev https://golang.org/cl/5529055
-
Rob Pike authored
It was 2^31, but that could cause overflow and trouble. Reduce it to 2^30 and add a TODO. R=golang-dev, iant CC=golang-dev https://golang.org/cl/5562049
-
Ian Lance Taylor authored
I haven't looked at the source, but the gc compiler appears to omit "not used" errors when there is an error in the initializer. This is harder to do in gccgo, and frankly I think the "not used" error is still useful even if the initializer has a problem. This CL tweaks some tests to avoid the error, which is not the point of these tests in any case. R=golang-dev, r CC=golang-dev https://golang.org/cl/5561059
-
Shenghou Ma authored
Their last use is removed in rev 70ed048caad2. R=golang-dev, r CC=golang-dev https://golang.org/cl/5532115
-
Shenghou Ma authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5532118
-
Rob Pike authored
It takes too much memory to be reliable and causes trouble on 32-bit machines. Sigh. Fixes #2756. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5567043
-