- 30 Jun, 2011 11 commits
-
-
Russ Cox authored
Except for the inevitable bug fixes, the Regexp code is done. R=sam.thorogood, r CC=golang-dev https://golang.org/cl/4635082
-
Russ Cox authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/4629084
-
Yasuhiro Matsumoto authored
R=nigeltao CC=golang-dev https://golang.org/cl/4636067
-
Julian Phillips authored
This change extends goinstall to support "magic" package names of the form: <host>/<repo>.<vcs>/<path> Where <host> is the hostname, <repo> the path to the repository, <vcs> the type of vcs (git, hg, bzr or svn), and <path> is the path inside the repository that contains the source code for the package. For example: "example.com/pub/foo.hg/src" means download the Mercurial repository at either pub/foo.hg or pub/foo from example.com and then build and install the source files from src inside the repository checkout. Repositories on the built-in hostings sites (github, bitbucket, launchpad and googlecode) must still use the old form (i.e. github.com/xxx/yyy.git/src will be rejected). R=adg, rsc CC=golang-dev https://golang.org/cl/4626064
-
Yasuhiro Matsumoto authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4650062
-
Yasuhiro Matsumoto authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4625078
-
Andrew Gerrand authored
Fixes #2026. R=bradfitz, rsc CC=golang-dev https://golang.org/cl/4645074
-
Brad Fitzpatrick authored
No API or functional change. R=jacek.masiulaniec, mikioh.mikioh, rsc CC=golang-dev https://golang.org/cl/4630081
-
Rob Pike authored
Fixes #2024 R=adg, dsymonds CC=golang-dev https://golang.org/cl/4635083
-
David Symonds authored
Open is more likely to be present than Syscall. R=rsc CC=golang-dev https://golang.org/cl/4645073
-
Brad Fitzpatrick authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/4635081
-
- 29 Jun, 2011 19 commits
-
-
Andrew Gerrand authored
R=rsc CC=golang-dev https://golang.org/cl/4634113
-
Andrew Gerrand authored
R=rsc, r, bsiegert CC=golang-dev https://golang.org/cl/4643058
-
Alex Brainman authored
Fixes #2025. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4636075
-
Andrew Balholm authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/4634112
-
Brad Fitzpatrick authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4630080
-
Russ Cox authored
R=r CC=golang-dev https://golang.org/cl/4626085
-
Russ Cox authored
Each package using struct field tags assumes that it is the only package storing data in the tag. This CL adds support in package reflect for sharing tags between multiple packages. In this scheme, the tags must be of the form key:"value" key2:"value2" (raw strings help when writing that tag in Go source). reflect.StructField's Tag field now has type StructTag (a string type), which has method Get(key string) string that returns the associated value. Clients of json and xml will need to be updated. Code that says type T struct { X int "name" } should become type T struct { X int `json:"name"` // or `xml:"name"` } Use govet to identify struct tags that need to be changed to use the new syntax. R=r, r, dsymonds, bradfitz, kevlar, fvbommel, n13m3y3r CC=golang-dev https://golang.org/cl/4645069
-
Wei Guangjing authored
R=rsc, alex.brainman, hectorchu, r CC=golang-dev https://golang.org/cl/3759042
-
Robert Hencke authored
Fixes #1971. R=adg, rsc CC=golang-dev https://golang.org/cl/4630056
-
Rob Pike authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4667047
-
Rob Pike authored
R=rsc CC=golang-dev https://golang.org/cl/4628073
-
Russ Cox authored
Also reuse of *Regexp nodes. I believe this is the end of the parser. The only non-execution code that remains is the code to expand x{3,5} into simpler operations. R=sam.thorogood, r CC=golang-dev https://golang.org/cl/4629078
-
Russ Cox authored
'default' is the name of the main branch, the one that isn't a release branch. R=golang-dev, r CC=golang-dev https://golang.org/cl/4636072
-
Russ Cox authored
The decision for when to say "hash/crc32".New instead of crc32.New in an error was double-counting imports from different packages or indirect imports, so it was quoting even when there was no ambiguity. R=ken2 CC=golang-dev https://golang.org/cl/4645070
-
Rob Pike authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4631076
-
Rob Pike authored
wrong path in Makefile. why didn't my all.bash fail? TBR=dsymonds R=dsymonds CC=golang-dev https://golang.org/cl/4630075
-
Rob Pike authored
R=rsc, adg, r CC=golang-dev https://golang.org/cl/4641081
-
Rob Pike authored
It's more common to ask for methods by name than by index, so might as well make it easy to do so. R=rsc CC=golang-dev https://golang.org/cl/4639083
-
Mikio Hara authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4629082
-
- 28 Jun, 2011 10 commits
-
-
Gustavo Niemeyer authored
The gosymtab and gopclntab sections were pointing to the proper data, but that data was already owned by the rodata section. Some ELF references explicitly prohibit multiple sections from owning the same data, and strip behaves accordingly. The data for these sections was moved to after rodata, and the gosymtab and gopclntab sections now own their respective ranges. This change makes strip happy both with and without -s being provided at link time. Note that it won't remove these sections because they are still allocated, and that's by design since they are necessary at runtime for generating proper backtraces and similar introspection operations. Unlike the previous behavior, -s will now maintain zero-sized gosymtab and gopclntab sections. This makes the implementation slightly cleaner. Fixes #1242. NOTE: Tested on Linux amd64/386/arm only. R=ality, rsc CC=golang-dev https://golang.org/cl/4639077
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/4626081
-
Dmitriy Vyukov authored
1. The implementation uses distributed hash table of waitlists instead of a centralized one. It significantly improves scalability for uncontended semaphores. 2. The implementation provides wait-free fast-path for signalers. 3. The implementation uses less locks (1 lock/unlock instead of 5 for Semacquire). 4. runtime·ready() call is moved out of critical section. 5. Semacquire() does not call semwake(). Benchmark results on HP Z600 (2 x Xeon E5620, 8 HT cores, 2.40GHz) are as follows: benchmark old ns/op new ns/op delta runtime_test.BenchmarkSemaUncontended 58.20 36.30 -37.63% runtime_test.BenchmarkSemaUncontended-2 199.00 18.30 -90.80% runtime_test.BenchmarkSemaUncontended-4 327.00 9.20 -97.19% runtime_test.BenchmarkSemaUncontended-8 491.00 5.32 -98.92% runtime_test.BenchmarkSemaUncontended-16 946.00 4.18 -99.56% runtime_test.BenchmarkSemaSyntNonblock 59.00 36.80 -37.63% runtime_test.BenchmarkSemaSyntNonblock-2 167.00 138.00 -17.37% runtime_test.BenchmarkSemaSyntNonblock-4 333.00 129.00 -61.26% runtime_test.BenchmarkSemaSyntNonblock-8 464.00 130.00 -71.98% runtime_test.BenchmarkSemaSyntNonblock-16 1015.00 136.00 -86.60% runtime_test.BenchmarkSemaSyntBlock 58.80 36.70 -37.59% runtime_test.BenchmarkSemaSyntBlock-2 294.00 149.00 -49.32% runtime_test.BenchmarkSemaSyntBlock-4 333.00 177.00 -46.85% runtime_test.BenchmarkSemaSyntBlock-8 471.00 221.00 -53.08% runtime_test.BenchmarkSemaSyntBlock-16 990.00 227.00 -77.07% runtime_test.BenchmarkSemaWorkNonblock 829.00 832.00 +0.36% runtime_test.BenchmarkSemaWorkNonblock-2 425.00 419.00 -1.41% runtime_test.BenchmarkSemaWorkNonblock-4 308.00 220.00 -28.57% runtime_test.BenchmarkSemaWorkNonblock-8 394.00 147.00 -62.69% runtime_test.BenchmarkSemaWorkNonblock-16 1510.00 149.00 -90.13% runtime_test.BenchmarkSemaWorkBlock 828.00 813.00 -1.81% runtime_test.BenchmarkSemaWorkBlock-2 428.00 436.00 +1.87% runtime_test.BenchmarkSemaWorkBlock-4 232.00 219.00 -5.60% runtime_test.BenchmarkSemaWorkBlock-8 392.00 251.00 -35.97% runtime_test.BenchmarkSemaWorkBlock-16 1524.00 298.00 -80.45% sync_test.BenchmarkMutexUncontended 24.10 24.00 -0.41% sync_test.BenchmarkMutexUncontended-2 12.00 12.00 +0.00% sync_test.BenchmarkMutexUncontended-4 6.25 6.17 -1.28% sync_test.BenchmarkMutexUncontended-8 3.43 3.34 -2.62% sync_test.BenchmarkMutexUncontended-16 2.34 2.32 -0.85% sync_test.BenchmarkMutex 24.70 24.70 +0.00% sync_test.BenchmarkMutex-2 208.00 99.50 -52.16% sync_test.BenchmarkMutex-4 2744.00 256.00 -90.67% sync_test.BenchmarkMutex-8 5137.00 556.00 -89.18% sync_test.BenchmarkMutex-16 5368.00 1284.00 -76.08% sync_test.BenchmarkMutexSlack 24.70 25.00 +1.21% sync_test.BenchmarkMutexSlack-2 1094.00 186.00 -83.00% sync_test.BenchmarkMutexSlack-4 3430.00 402.00 -88.28% sync_test.BenchmarkMutexSlack-8 5051.00 1066.00 -78.90% sync_test.BenchmarkMutexSlack-16 6806.00 1363.00 -79.97% sync_test.BenchmarkMutexWork 793.00 792.00 -0.13% sync_test.BenchmarkMutexWork-2 398.00 398.00 +0.00% sync_test.BenchmarkMutexWork-4 1441.00 308.00 -78.63% sync_test.BenchmarkMutexWork-8 8532.00 847.00 -90.07% sync_test.BenchmarkMutexWork-16 8225.00 2760.00 -66.44% sync_test.BenchmarkMutexWorkSlack 793.00 793.00 +0.00% sync_test.BenchmarkMutexWorkSlack-2 418.00 414.00 -0.96% sync_test.BenchmarkMutexWorkSlack-4 4481.00 480.00 -89.29% sync_test.BenchmarkMutexWorkSlack-8 6317.00 1598.00 -74.70% sync_test.BenchmarkMutexWorkSlack-16 9111.00 3038.00 -66.66% R=rsc CC=golang-dev https://golang.org/cl/4631059
-
Brad Fitzpatrick authored
The public godoc looked confused. I imagine these were written before current conventions were established. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4662060
-
Albert Strasheim authored
R=rsc, iant, dvyukov CC=golang-dev https://golang.org/cl/4643057
-
Dmitriy Vyukov authored
R=rsc CC=golang-dev https://golang.org/cl/4625065
-
Dmitriy Vyukov authored
The implementation does not grab the lock, if Once is already initalized. Benchmark results on HP Z600 (2 x Xeon E5620, 8 HT cores, 2.40GHz) are as follows: benchmark old ns/op new ns/op delta sync_test.BenchmarkOnce 187.00 14.00 -92.51% sync_test.BenchmarkOnce-2 909.00 21.40 -97.65% sync_test.BenchmarkOnce-4 3684.00 20.90 -99.43% sync_test.BenchmarkOnce-8 5987.00 23.00 -99.62% sync_test.BenchmarkOnce-16 5051.00 21.60 -99.57% R=bradfitz, rsc CC=golang-dev https://golang.org/cl/4641066
-
Rob Pike authored
including evaluation up the data tree (in this code all fields must be in dot itself), plus more control structure, but the basics are in place. R=rsc, r CC=golang-dev https://golang.org/cl/4665041
-
Dmitriy Vyukov authored
For both contended and uncontended case: - support arbitrary number of cpus (not just 2) - dynamic load balancing (improves stability) - periodic execution of Gosched() to work around non-preemptiviness For uncontended case eliminates possible false-sharing. For contended case includes additional variation with some amount of local work between mutex operations. R=r, rsc CC=golang-dev https://golang.org/cl/4634093
-
Evan Shaw authored
This avoids allocation when writing to bytes.Buffers and bufio.Writers, for example. R=golang-dev, rsc, r, consalus, r CC=golang-dev https://golang.org/cl/4625068
-