- 15 Nov, 2012 6 commits
-
-
Andrew Gerrand authored
R=golang-dev, bradfitz, ftrvxmtrx, franciscossouza, r, minux.ma CC=golang-dev https://golang.org/cl/6843044
-
Rob Pike authored
Fixes #4386. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6854050
-
Dmitriy Vyukov authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6782075
-
Ian Lance Taylor authored
R=golang-dev, dave, jsing CC=golang-dev https://golang.org/cl/6847051
-
Dave Cheney authored
Revert to the shell builtin to avoid hosts that do not have /usr/bin/time. R=golang-dev, iant CC=golang-dev https://golang.org/cl/6848054
-
Dave Cheney authored
test/run.go already executes tests in parallel where possible. An unknown GOMAXPROCS value during the tests is known to cause failures with tests that measure allocations. ref: https://groups.google.com/d/topic/golang-nuts/tgMhFJ3F5WY/discussion R=fullung, minux.ma, r CC=golang-dev https://golang.org/cl/6847050
-
- 14 Nov, 2012 11 commits
-
-
Robin Eklind authored
R=gri CC=gobot, golang-dev https://golang.org/cl/6855048
-
Joel Sing authored
Add support for parsing SEC1 EC private keys and PKCS8 encapsulated EC private key structures. R=agl CC=golang-dev https://golang.org/cl/6767045
-
Joel Sing authored
Since we no longer skip the first entry when reading a symbol table, we no longer need to allow for the offset difference when processing the GNU version symbols. Unbreaks builds on Linux. R=golang-dev, agl, iant CC=golang-dev https://golang.org/cl/6843057
-
Joel Sing authored
Do not skip the first symbol in the symbol table. Any other indexes into the symbol table (for example, indexes in relocation entries) will now refer to the symbol following the one that was intended. Add an object that contains debug relocations, which debug/dwarf failed to decode correctly. Extend the relocation tests to cover this case. Note that the existing tests passed since the symbol following the symbol that required relocation is also of type STT_SECTION. Fixes #4107. R=golang-dev, mikioh.mikioh, iant, iant CC=golang-dev https://golang.org/cl/6848044
-
Dmitriy Vyukov authored
Currently race detector runtime just disables race detection in the finalizer goroutine. It has false positives when a finalizer writes to shared memory -- the race with finalizer is reported in a normal goroutine that accesses the same memory. After this change I am going to synchronize the finalizer goroutine with the rest of the world in racefingo(). This is closer to what happens in reality and so does not have false positives. And also add README file with instructions how to build the runtime. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/6810095
-
Dmitriy Vyukov authored
It allows to catch e.g. a data race between atomic write and non-atomic write, or Mutex.Lock() and mutex overwrite (e.g. mu = Mutex{}). R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6817103
-
Dmitriy Vyukov authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6821096
-
Dmitriy Vyukov authored
+ do not instrument go.itab.* R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6819106
-
Andrew Gerrand authored
Update #4125 R=golang-dev, r CC=golang-dev https://golang.org/cl/6846045
-
Joel Sing authored
Regenerate z-files for OpenBSD/386 on OpenBSD 5.2. R=golang-dev, bradfitz, mikioh.mikioh CC=golang-dev https://golang.org/cl/6844044
-
Brad Fitzpatrick authored
This is a simplified version of earlier versions of this CL and now only fixes obviously incorrect things, without changing the locking on bodyEOFReader. I'd like to see if this is sufficient before changing the locking. Update #4191 R=golang-dev, rsc, dave CC=golang-dev https://golang.org/cl/6739055
-
- 13 Nov, 2012 12 commits
-
-
Robert Griesemer authored
The existing algorithm did not properly propagate the type count from one level to the next, and as a consequence it missed collisions. Properly propagate multiplicity (count) information to the next level. benchmark old ns/op new ns/op delta BenchmarkFieldByName1 182 180 -1.10% BenchmarkFieldByName2 6273 6183 -1.43% BenchmarkFieldByName3 49267 46784 -5.04% Fixes #4355. R=rsc CC=golang-dev https://golang.org/cl/6821094
-
Russ Cox authored
TBR=iant CC=golang-dev https://golang.org/cl/6843050
-
Russ Cox authored
In order to add these, we need to be able to find references to such types that already exist in the binary. To do that, introduce a new linker section holding a list of the types corresponding to arrays, chans, maps, and slices. To offset the storage cost of this list, and to simplify the code, remove the interface{} header from the representation of a runtime type. It was used in early versions of the code but was made obsolete by the kind field: a switch on kind is more efficient than a type switch. In the godoc binary, removing the interface{} header cuts two words from each of about 10,000 types. Adding back the list of pointers to array, chan, map, and slice types reintroduces one word for each of about 500 types. On a 64-bit machine, then, this CL *removes* a net 156 kB of read-only data from the binary. This CL does not include the needed support for precise garbage collection. I have created issue 4375 to track that. This CL also does not set the 'algorithm' - specifically the equality and copy functions - for a new array correctly, so I have unexported ArrayOf for now. That is also part of issue 4375. Fixes #2339. R=r, remyoudompheng, mirtchovski, iant CC=golang-dev https://golang.org/cl/6572043
-
Brad Fitzpatrick authored
Prep for future CL. R=gri CC=golang-dev https://golang.org/cl/6843048
-
Russ Cox authored
Incorporates code from CL 6828055. Fixes #2142. R=golang-dev, iant, devon.odell CC=golang-dev https://golang.org/cl/6826088
-
Joel Sing authored
Regenerate z-files for OpenBSD/amd64 on OpenBSD 5.2. R=golang-dev, bradfitz, mikioh.mikioh CC=golang-dev https://golang.org/cl/6843045
-
Andrew Gerrand authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6849046
-
Mikio Hara authored
This CL extends changeset 13126:fc4a62e14aba to Plan 9. R=ality, golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6820124
-
Rémy Oudompheng authored
This patch introduces a sort of pre-regopt peephole optimization. When a temporary is introduced that just holds a value for the duration of the next instruction and is otherwise unused, we elide it to make the job of regopt easier. Since x86 has very few registers, this situation happens very often. The result is large savings in stack variables for arithmetic-heavy functions. crypto/aes benchmark old ns/op new ns/op delta BenchmarkEncrypt 1301 392 -69.87% BenchmarkDecrypt 1309 368 -71.89% BenchmarkExpand 2913 1036 -64.44% benchmark old MB/s new MB/s speedup BenchmarkEncrypt 12.29 40.74 3.31x BenchmarkDecrypt 12.21 43.37 3.55x crypto/md5 benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 1761 914 -48.10% BenchmarkHash1K 16912 5570 -67.06% BenchmarkHash8K 123895 38286 -69.10% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 4.54 8.75 1.93x BenchmarkHash1K 60.55 183.83 3.04x BenchmarkHash8K 66.12 213.97 3.24x bench/go1 benchmark old ns/op new ns/op delta BenchmarkBinaryTree17 8364835000 8303154000 -0.74% BenchmarkFannkuch11 7511723000 6381729000 -15.04% BenchmarkGobDecode 27764090 27103270 -2.38% BenchmarkGobEncode 11240880 11184370 -0.50% BenchmarkGzip 1470224000 856668400 -41.73% BenchmarkGunzip 240660800 201697300 -16.19% BenchmarkJSONEncode 155225800 185571900 +19.55% BenchmarkJSONDecode 243347900 282123000 +15.93% BenchmarkMandelbrot200 12240970 12201880 -0.32% BenchmarkParse 8837445 8765210 -0.82% BenchmarkRevcomp 2556310000 1868566000 -26.90% BenchmarkTemplate 389298000 379792000 -2.44% benchmark old MB/s new MB/s speedup BenchmarkGobDecode 27.64 28.32 1.02x BenchmarkGobEncode 68.28 68.63 1.01x BenchmarkGzip 13.20 22.65 1.72x BenchmarkGunzip 80.63 96.21 1.19x BenchmarkJSONEncode 12.50 10.46 0.84x BenchmarkJSONDecode 7.97 6.88 0.86x BenchmarkParse 6.55 6.61 1.01x BenchmarkRevcomp 99.43 136.02 1.37x BenchmarkTemplate 4.98 5.11 1.03x Fixes #4035. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/6828056
-
Rémy Oudompheng authored
Fixes build failure. R=golang-dev, bradfitz, dave CC=golang-dev https://golang.org/cl/6847043
-
Mikio Hara authored
When a nil listener address is passed to some protocol specific listen function, it will create an unnamed, unbound socket because of the nil listener address. Other listener functions may return invalid address error. This CL allows to pass a nil listener address to all protocol specific listen functions to fix above inconsistency. Also make it possible to return a proper local socket address in case of a nil listner address. Fixes #4190. Fixes #3847. R=rsc, iant CC=golang-dev https://golang.org/cl/6525048
-
Mikio Hara authored
The package go.net/ipv4 allows to exist a single UDP listener that join multiple different group addresses. That means that LocalAddr on multicast UDPConn returns a first joined group address is not desirable. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6822108
-
- 12 Nov, 2012 11 commits
-
-
Jeff R. Allen authored
By keeping a single copy of the strings that commonly show up in headers, we can avoid one string allocation per header. benchmark old ns/op new ns/op delta BenchmarkReadMIMEHeader 19590 10824 -44.75% BenchmarkUncommon 3168 1861 -41.26% benchmark old allocs new allocs delta BenchmarkReadMIMEHeader 32 25 -21.88% BenchmarkUncommon 5 5 0.00% R=bradfitz, golang-dev, dave, rsc, jra CC=golang-dev https://golang.org/cl/6721055
-
Brad Fitzpatrick authored
When HTTP bodies were too large and we didn't want to finish reading them for DoS reasons, we previously found it necessary to send a FIN and then pause before closing the connection (which might send a RST) if we wanted the client to have a better chance at receiving our error response. That was Issue 3595. This issue adds the same fix to request headers which are too large, which might fix the Windows flakiness we observed on TestRequestLimit at: http://build.golang.org/log/146a2a7d9b24441dc14602a1293918191d4e75f1 R=golang-dev, alex.brainman, rsc CC=golang-dev https://golang.org/cl/6826084
-
Rémy Oudompheng authored
Fixes #4092. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6819083
-
Rémy Oudompheng authored
The patch adds more cases to agenr to allocate registers later, and makes 6g generate addresses for sgen in something else than SI and DI. It avoids a complex save/restore sequence that amounts to allocate a register before descending in subtrees. Fixes #4207. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6817080
-
David Symonds authored
There was an init race between check_test.go:init universe.go:def use of Universe and universe.go:init creation of Universe The order in which init funcs are executed in a package is unspecified. The test is not currently broken in the golang.org environment because the go tool compiles the test with non-test sources before test sources, but other environments may, say, sort the source files before compiling, and thus trigger this race, causing a nil pointer panic. R=gri CC=golang-dev https://golang.org/cl/6827076
-
Rick Arnold authored
As discussed in issue 2540, nulls are allowed for any type in JSON so they should not result in an error during Unmarshal. Fixes #2540. R=rsc CC=golang-dev https://golang.org/cl/6759043
-
Russ Cox authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/6821110
-
Roger Peppe authored
Arbitrary decisions: order of the arguments and the fact it takes a block-type argument (rather than leaving to user to fill it in later); I'm happy whatever colour we want to paint it. We also change DecryptPEMBlock so that it won't panic when the IV has the wrong size. R=agl, agl CC=golang-dev https://golang.org/cl/6820114
-
Roger Peppe authored
See RFC 1421, section 4.6.1.1 R=agl, agl CC=golang-dev https://golang.org/cl/6814104
-
Christian Himpel authored
R=r CC=golang-dev https://golang.org/cl/6822111
-
David McLeish authored
R=adg, dave CC=gobot, golang-dev https://golang.org/cl/6811080
-