- 01 Nov, 2012 24 commits
-
-
Dmitriy Vyukov authored
R=golang-dev CC=golang-dev https://golang.org/cl/6826047
-
Dmitriy Vyukov authored
1. Prepend racefuncenter() to fn->enter -- fn->enter can contain new() calls, and we want them to be in the scope of the function. 2. Dump fn->enter and fn->exit. 3. Add TODO that OTYPESW expression can contain interesting memory accesses. 4. Ignore only _ names instead of all names starting with _. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6822048
-
Han-Wen Nienhuys authored
R=golang-dev, minux.ma, fullung, dave, rsc, hanwenn CC=golang-dev https://golang.org/cl/6350074
-
Rémy Oudompheng authored
go test -race -run none -bench . encoding/json benchmark old ns/op new ns/op delta BenchmarkCodeEncoder 3207689000 1716149000 -46.50% BenchmarkCodeMarshal 3206761000 1715677000 -46.50% BenchmarkCodeDecoder 8647304000 4482709000 -48.16% BenchmarkCodeUnmarshal 8032217000 3451248000 -57.03% BenchmarkCodeUnmarshalReuse 8016722000 3480502000 -56.58% BenchmarkSkipValue 10340453000 4560313000 -55.90% benchmark old MB/s new MB/s speedup BenchmarkCodeEncoder 0.60 1.13 1.88x BenchmarkCodeMarshal 0.61 1.13 1.85x BenchmarkCodeDecoder 0.22 0.43 1.95x BenchmarkCodeUnmarshal 0.24 0.56 2.33x BenchmarkCodeUnmarshalReuse 0.24 0.56 2.33x BenchmarkSkipValue 0.19 0.44 2.32x Fixes #4248. R=dvyukov, golang-dev, rsc CC=golang-dev https://golang.org/cl/6815066
-
Robert Griesemer authored
- simplified assignment checking by removing duplicate code - implemented field lookup (methods, structs, embedded fields) - importing methods (not just parsing them) - type-checking functions and methods - typechecking more statements (inc/dec, select, return) - tracing support for easier debugging - handling nil more correctly (comparisons) - initial support for [...]T{} arrays - initial support for method expressions - lots of bug fixes All packages under pkg/go as well as pkg/exp/types typecheck now with pkg/exp/gotype applied to them; i.e., a significant amount of typechecking works now (several statements are not implemented yet, but handling statements is almost trivial in comparison with typechecking expressions). R=rsc CC=golang-dev https://golang.org/cl/6768063
-
Ian Lance Taylor authored
Use wrapper functions to tell scheduler what we are doing. With this patch, and a separate patch to the go tool, all the cgo tests pass with gccgo. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6812058
-
Ian Lance Taylor authored
* Use -fgo-pkgpath and -gccgopkgpath rather than -fgo-prefix and -gccgoprefix. * Define GOPKGPATH when compiling .c or .s files for gccgo. * Use -fgo-relative-import-path. * Produce .o files for gccgo, not .[568] files. * Pass -E when linking if using cgo. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6820064
-
Ian Lance Taylor authored
This supports writing different .c/.s code when using gccgo. R=golang-dev, dsymonds, iant, rsc CC=golang-dev https://golang.org/cl/6823055
-
Dmitriy Vyukov authored
The idea is to (1) process ninit of all nodes, and (2) put instrumentation of ninit into the nodes themselves (not the top-level statement ninit). Fixes #4304. R=golang-dev, rsc CC=golang-dev, lvd https://golang.org/cl/6818049
-
Rémy Oudompheng authored
When local declarations needed unexported types, these could be missing in the export data. Fixes build with -gcflags -lll, except for exp/gotype. R=golang-dev, rsc, lvd CC=golang-dev https://golang.org/cl/6813067
-
Dmitriy Vyukov authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6612064
-
Rémy Oudompheng authored
Fixes #4323. R=rsc, lvd, golang-dev CC=golang-dev https://golang.org/cl/6815061
-
Ryan Hitchman authored
Helps with issue 2703. R=dave, minux.ma, rsc CC=golang-dev https://golang.org/cl/5536078
-
Daniel Morsing authored
This should make the compiler emit errors specific to the bounds checking instead of overflow errors on the underlying types. Updates #4232. R=rsc CC=golang-dev https://golang.org/cl/6783054
-
Robert Griesemer authored
This is an attempt at making the interaction between these three constructs clearer. Specifically: - return statements terminate a function, execute deferred functions, return to the caller, and then execution continues after the call - panic calls terminate a function, execute deferred functions, return to the caller, and then re-panic - deferred functions are executed before a function _returns_ to its caller The hope is that with this change it becomes clear when a deferred function is executed (when a function returns), and when it is not (when a program exits). R=r, rsc, iant, ken, iant CC=golang-dev https://golang.org/cl/6736071
-
Jan Ziak authored
The 'type' field of Itab will be used by the garbage collector. R=rsc CC=golang-dev https://golang.org/cl/6815059
-
Alexey Borzenkov authored
Incorrect cast was causing panics when calling String() on dnsMsg with dnsRR_A answers. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6818043
-
Jan Ziak authored
R=golang-dev CC=golang-dev, remyoudompheng, rsc https://golang.org/cl/6780059
-
Russ Cox authored
Plan 9 and Go's lib9/fmt disagree on whether %#x includes the 0x prefix when printing 0, because ANSI C gave bad advice long ago. Avoiding that case makes binaries compiled on different systems compatible. R=ken2 CC=akumar, golang-dev https://golang.org/cl/6814066
-
Andrew Gerrand authored
This caused more problems than it was worth. Fixes #4301. Fixes #4317. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/6818076
-
Rémy Oudompheng authored
The move to 64-bit ints in 6g made componentgen ineffective. In componentgen, the code already selects which values it can handle. On amd64: benchmark old ns/op new ns/op delta BenchmarkBinaryTree17 9477970000 9582314000 +1.10% BenchmarkFannkuch11 5928750000 5255080000 -11.36% BenchmarkGobDecode 37103040 31451120 -15.23% BenchmarkGobEncode 16042490 16844730 +5.00% BenchmarkGzip 811337400 741373600 -8.62% BenchmarkGunzip 197928700 192844500 -2.57% BenchmarkJSONEncode 224164100 140064200 -37.52% BenchmarkJSONDecode 258346800 231829000 -10.26% BenchmarkMandelbrot200 7561780 7601615 +0.53% BenchmarkParse 12970340 11624360 -10.38% BenchmarkRevcomp 1969917000 1699137000 -13.75% BenchmarkTemplate 296182000 263117400 -11.16% R=nigeltao, dave, daniel.morsing CC=golang-dev https://golang.org/cl/6821052
-
Alex Brainman authored
R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/6811059
-
Mikio Hara authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6826044
-
Nigel Tao authored
defined by the PLTE chunk. Such pixels decode to opaque black, which matches what libpng does. Fixes #4319. On my reading, the PNG spec isn't clear whether palette index values outside of those defined by the PLTE chunk is an error, and if not, what to do. Libpng 1.5.3 falls back to opaque black. png_set_PLTE says: /* Changed in libpng-1.2.1 to allocate PNG_MAX_PALETTE_LENGTH instead * of num_palette entries, in case of an invalid PNG file that has * too-large sample values. */ png_ptr->palette = (png_colorp)png_calloc(png_ptr, PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color)); ImageMagick 6.5.7 returns an error: $ convert -version Version: ImageMagick 6.5.7-8 2012-08-17 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC Features: OpenMP $ convert packetloss.png x.bmp convert: Invalid colormap index `packetloss.png' @ image.c/SyncImage/3849. R=r CC=golang-dev https://golang.org/cl/6822065
-
- 31 Oct, 2012 15 commits
-
-
Dan Callahan authored
Fixes #4297. R=golang-dev, gri CC=golang-dev https://golang.org/cl/6817045
-
Robert Griesemer authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6815062
-
Robert Griesemer authored
Fixes #4324. R=r CC=golang-dev https://golang.org/cl/6822062
-
Adam Langley authored
Fixes #1390. R=golang-dev, minux.ma, adg, agl CC=golang-dev https://golang.org/cl/6631044
-
Robert Griesemer authored
Fixes #4314. R=r, rsc CC=golang-dev https://golang.org/cl/6822059
-
Rob Pike authored
Fixes #2874. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6820068
-
Rob Pike authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6812060
-
Rob Pike authored
Fixes build, too. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6775088
-
Marcel van Lohuizen authored
R=r, mpvl CC=golang-dev https://golang.org/cl/6818067
-
Marcel van Lohuizen authored
Tailorings are represented by removing and reinserting entries from a linked list. After all tailorings are done, missing weights are computed and verified. This implementation assumes that entries that are used in expansions are not reinserted at a later point. This considerably simplifies the implementation. R=r CC=golang-dev https://golang.org/cl/6739052
-
Marcel van Lohuizen authored
incremental comparisons. Instead, processing is now done directly on colElems. As a result, the size of the weights array is now reduced by 75%. Details: - Primary value of type 1 colElem is shifted by 1 bit so that primaries of all types can be compared without shifting. - Quaternary values are now stored in the colElem itself. This is possible as quaternary values other than 0 or maxQuaternary are only needed when other values are ignored. - Simplified processWeights by removing cases that are needed for ICU but not for us (our CJK primary values fit in a single value). R=r CC=golang-dev https://golang.org/cl/6817054
-
Marcel van Lohuizen authored
R=r CC=golang-dev https://golang.org/cl/6727049
-
Ian Lance Taylor authored
I fixed a bug in gccgo that was causing it to only give an error for the first package that was imported and not used. R=golang-dev, r CC=golang-dev https://golang.org/cl/6813058
-
Peter Waller authored
As discussed in the following thread: https://groups.google.com/forum/?fromgroups=#!topic/golang-dev/emeJffxWhVo This is required to enable applications such as `less` to use something other than stdin as the controlling terminal. R=dave, iant CC=bradfitz, golang-dev https://golang.org/cl/6785057
-
Ian Lance Taylor authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6775083
-
- 30 Oct, 2012 1 commit
-
-
Alex Brainman authored
It is common to close network connection while another goroutine is blocked reading on another goroutine. This sequence corresponds to windows calls to WSARecv to start io, followed by GetQueuedCompletionStatus that blocks until io completes, and, finally, closesocket called from another thread. We were expecting that closesocket would unblock GetQueuedCompletionStatus, and it does, but not always (http://code.google.com/p/go/issues/detail?id=4170#c5). Also that sequence results in connection is being reset. This CL inserts CancelIo between GetQueuedCompletionStatus and closesocket, and waits for both WSARecv and GetQueuedCompletionStatus to complete before proceeding to closesocket. This seems to fix both connection resets and issue 4170. It also makes windows code behave similar to unix version. Unfortunately, CancelIo needs to be called on the same thread as WSARecv. So we have to employ strategy we use for connections with deadlines to every connection now. It means, there are 2 unavoidable thread switches for every io. Some newer versions of windows have new CancelIoEx api that doesn't have these drawbacks, and this CL uses this capability when available. As time goes by, we should have less of CancelIo and more of CancelIoEx systems. Computers with CancelIoEx are also not affected by issue 4195 anymore. Fixes #3710 Fixes #3746 Fixes #4170 Partial fix for issue 4195 R=golang-dev, mikioh.mikioh, bradfitz, rsc CC=golang-dev https://golang.org/cl/6604072
-