- 25 Jul, 2013 8 commits
-
-
Mikio Hara authored
R=golang-dev, dave CC=golang-dev https://golang.org/cl/11811043
-
Peter Mundy authored
The rlimit arguments for prlimit are reversed for linux 32-bit (386 and arm). Getrlimit becomes Setrlimit and vice versa. Fixes #5949. R=iant, mikioh.mikioh, rsc CC=golang-dev https://golang.org/cl/11803043
-
Ian Lance Taylor authored
Don't require a full-scale callback for calls to the special prologue functions. Always use a simple wrapper function for C functions, so that we can handle static functions defined in the import "C" comment. Disable a test that relies on gc-specific function names. Fixes #5905. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11406047
-
Rémy Oudompheng authored
Backends do not exactly expect receiving binary operators with constant operands or use workarounds to move them to register/stack in order to handle them. Fixes #5841. R=golang-dev, daniel.morsing, rsc CC=golang-dev https://golang.org/cl/11107044
-
Mikio Hara authored
R=golang-dev, dave CC=golang-dev https://golang.org/cl/11807043
-
Nick Craig-Wood authored
An ARM version of md5block.go with a big improvement in throughput (up to 2.5x) and a reduction in object size (21%). Code size Before 3100 bytes After 2424 bytes 21% smaller Benchmarks on Rasperry Pi benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 11703 6636 -43.30% BenchmarkHash1K 38057 21881 -42.50% BenchmarkHash8K 208131 142735 -31.42% BenchmarkHash8BytesUnaligned 11457 6570 -42.66% BenchmarkHash1KUnaligned 69334 26841 -61.29% BenchmarkHash8KUnaligned 455120 182223 -59.96% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 0.68 1.21 1.78x BenchmarkHash1K 26.91 46.80 1.74x BenchmarkHash8K 39.36 57.39 1.46x BenchmarkHash8BytesUnaligned 0.70 1.22 1.74x BenchmarkHash1KUnaligned 14.77 38.15 2.58x BenchmarkHash8KUnaligned 18.00 44.96 2.50x benchmark old allocs new allocs delta BenchmarkHash8Bytes 1 0 -100.00% BenchmarkHash1K 2 0 -100.00% BenchmarkHash8K 2 0 -100.00% BenchmarkHash8BytesUnaligned 1 0 -100.00% BenchmarkHash1KUnaligned 2 0 -100.00% BenchmarkHash8KUnaligned 2 0 -100.00% benchmark old bytes new bytes delta BenchmarkHash8Bytes 64 0 -100.00% BenchmarkHash1K 128 0 -100.00% BenchmarkHash8K 128 0 -100.00% BenchmarkHash8BytesUnaligned 64 0 -100.00% BenchmarkHash1KUnaligned 128 0 -100.00% BenchmarkHash8KUnaligned 128 0 -100.00% This also adds another test which makes sure that the sums over larger blocks work properly. I wrote this test when I was worried about memory corruption. R=golang-dev, dave, bradfitz, rsc, ajstarks CC=golang-dev, minux.ma, remyoudompheng https://golang.org/cl/11648043
-
Andrew Gerrand authored
Fixes #5947. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11801043
-
Kevin Klues authored
The problem is that the cdecl() function in cmd/cgo/godefs.go isn't properly translating the Go array type to a C array type when an asterisk follows the [] in the array type declaration (it is perfectly legal to put the asterisk on either side of the [] in go syntax, depending on how you set up your pointers). That said, the cdefs tool is only designed to translate from Go types generated using the cgo *godefs* tool -- where the godefs tool is designed to translate gcc-style C types into Go types. In essence, the cdefs tool translates from gcc-style C types to Go types (via the godefs tool), then back to kenc-style C types. Because of this, cdefs does not need to know how to translate arbitraty Go types into C, just the ones produced by godefs. The problem is that during this translation process, the logic is slightly wrong when going from (e.g.): char *array[10]; to: array [10]*int8; back to: int8 *array[10]; In the current implementation of cdecl(), the translation from the Go type declaration back to the kenc-style declaration looks for Go types of the form: name *[]type; rather than the actual generated Go type declaration of: name []*type; Both are valid Go syntax, with slightly different semantics, but the latter is the only one that can ever be generated by the godefs tools. (The semantics of the former are not directly expressible in a single C statement -- you would have to have to first typedef the array type, then declare a pointer to that typedef'd type in a separate statement). This commit changes the logic of cdecl() to look properly for, and translate, Go type declarations of the form: name []*type; Additionally, the original implementation only allowed for a single asterisk and a single sized aray (i.e. only a single level of pointer indirection, and only one set of []) on the type, whereas the patched version allows for an arbitrary number of both. Tests are included in misc/cgo/testcdefs and the all.bash script has been updated to account for these. R=golang-dev, bradfitz, dave, iant CC=golang-dev https://golang.org/cl/11377043
-
- 24 Jul, 2013 14 commits
-
-
Brad Fitzpatrick authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/11797043
-
Keith Randall authored
Broke arm build. R=dave ««« original CL description cc: generate argument pointer maps for C functions. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11683043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/11788043
-
Dominik Honnef authored
R=adonovan CC=golang-dev https://golang.org/cl/11524045
-
Ian Lance Taylor authored
Revision 15629 (8d71734a0cb0) removed the serverConn interface that was introduce in revision 7718 (ee5e80c62862). The serverConn interface was there for use by gccgo on Solaris, and it is still needed there. Solaris does not support connecting to the syslog daemon over TCP, and gccgo simply calls the C library function. This CL restores the interface. R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/11737043
-
Keith Randall authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/11769043
-
Keith Randall authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11683043
-
Mikio Hara authored
Currently Darwin and FreeBSD support and NetBSD and OpenBSD do not support EV_RECEIPT flag. We will drop use of EV_RECEIPT for now. Also enables to build runtime-integrated network pollster on freebsd/amd64,386 and openbsd/amd64,386. It just does build but never runs pollster stuff. This is in preparation for runtime-integrated network pollster for BSD variants. Update #5199 R=dvyukov, minux.ma CC=golang-dev https://golang.org/cl/11759044
-
Dominik Honnef authored
Push point to the find-tag marker ring to support pop-tag-mark. Fixes #5804. R=adonovan CC=golang-dev https://golang.org/cl/11457044
-
Russ Cox authored
Debugging the Windows breakage I noticed that SEH only exists on 386, so we can balance the two stacks a little more on amd64 and reclaim another word. Now we're down to just one word consumed by cgocallback_gofunc, having reclaimed 25% of the overall budget (4 words out of 16). Separately, fix windows/386 - the SEH must be on the m0 stack, as must the saved SP, so we are forced to have a three-word frame for 386. It matters much less for 386, because there 128 bytes gives 32 words to use. R=dvyukov, alex.brainman CC=golang-dev https://golang.org/cl/11551044
-
Mikio Hara authored
R=dvyukov, r CC=golang-dev https://golang.org/cl/11761043
-
Russ Cox authored
TBR=golang-dev CC=golang-dev https://golang.org/cl/11595045
-
Andrew Bonventre authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/11492045
-
Rob Pike authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/11745044
-
Rob Pike authored
The existing function, IsOneOf, is hard to use. Since the slice comes before the rune, in parallelism with the other Is functions, the slice is clumsy to build. This CL adds a nicer-signatured In function of equivalent functionality (its implementation is identical) that's much easier to use. Compare: unicode.IsOneOf([]*unicode.RangeTable{unicode.Letter, unicode.Number}, r) unicode.In(r, unicode.Letter, unicode.Number) R=golang-dev, adg CC=golang-dev https://golang.org/cl/11672044
-
- 23 Jul, 2013 9 commits
-
-
Mikio Hara authored
Also adds maxListenerBacklog placeholder for Plan 9. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11674044
-
Russ Cox authored
Tying preemption to stack splits means that we have to able to complete the call to exitsyscall (inside cgocallbackg at least for now) without any stack split checks, meaning that the whole sequence has to work within 128 bytes of stack, unless we increase the size of the red zone. This CL frees up 24 bytes along that critical path on amd64. (The 32-bit systems have plenty of space because all their words are smaller.) R=dvyukov CC=golang-dev https://golang.org/cl/11676043
-
Andrew Gerrand authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/11709043
-
Russ Cox authored
This would have failed with CL 11663043. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11480045
-
Andrew Gerrand authored
Fixes #5937. R=golang-dev, mirtchovski, r CC=golang-dev https://golang.org/cl/11705043
-
Brad Fitzpatrick authored
When making an HTTPS client request, respect the ServerName field in the tls.Config. Fixes #5829 R=golang-dev, agl, adg CC=golang-dev https://golang.org/cl/11691043
-
Alex Brainman authored
Fixes #5936 R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11620046
-
Rob Pike authored
Phrases like "returns whether or not the image is opaque" could be describing what the function does (it always returns, regardless of the opacity) or what it returns (a boolean indicating the opacity). Even when the "or not" is missing, the phrasing is bizarre. Go with "reports whether", which is still clunky but at least makes it clear we're talking about the return value. These were edited by hand. A few were cleaned up in other ways. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/11699043
-
Mikio Hara authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11691044
-
- 22 Jul, 2013 9 commits
-
-
Nick Craig-Wood authored
Change use of x+(SP) to access the stack frame into x-(SP) Fixes #5925. R=golang-dev, bradfitz, dave, remyoudompheng, nick, rsc CC=dave cheney <dave, golang-dev https://golang.org/cl/11647043
-
Brad Fitzpatrick authored
For consistency with Go documentation style. R=golang-dev, khr CC=golang-dev https://golang.org/cl/11697043
-
David du Colombier authored
src/cmd/ld/lib.c:1379 set and not used: p src/cmd/ld/lib.c:1426 format mismatch 6llux INT, arg 3 src/cmd/ld/lib.c:1437 format mismatch 6llux INT, arg 3 src/cmd/ld/lib.c:1456 format mismatch 6llux INT, arg 3 src/cmd/ld/lib.c:1477 format mismatch 6llux INT, arg 3 src/cmd/ld/lib.c:1459 set and not used: started R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11615044
-
Dmitriy Vyukov authored
notetsleepg is the same as notetsleep, but is called on user g. It includes entersyscall/exitsyscall and will help to avoid split stack functions in syscall status. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11681043
-
Dmitriy Vyukov authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/11677043
-
Dmitriy Vyukov authored
This gives more space during the call to runtime.lock. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11679043
-
Dmitriy Vyukov authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/11671043
-
Mikio Hara authored
R=dave CC=golang-dev https://golang.org/cl/11537044
-
Alex Brainman authored
Moves the network poller from net package into runtime. benchmark old ns/op new ns/op delta BenchmarkTCP4OneShot 316386 287061 -9.27% BenchmarkTCP4OneShot-2 339822 313424 -7.77% BenchmarkTCP4OneShot-3 330057 306589 -7.11% BenchmarkTCP4OneShotTimeout 341775 287061 -16.01% BenchmarkTCP4OneShotTimeout-2 380835 295849 -22.32% BenchmarkTCP4OneShotTimeout-3 398412 328070 -17.66% BenchmarkTCP4Persistent 40622 33392 -17.80% BenchmarkTCP4Persistent-2 44528 35736 -19.74% BenchmarkTCP4Persistent-3 44919 36907 -17.84% BenchmarkTCP4PersistentTimeout 45309 33588 -25.87% BenchmarkTCP4PersistentTimeout-2 50289 38079 -24.28% BenchmarkTCP4PersistentTimeout-3 51559 37103 -28.04% BenchmarkTCP6OneShot 361305 345645 -4.33% BenchmarkTCP6OneShot-2 361305 331976 -8.12% BenchmarkTCP6OneShot-3 376929 347598 -7.78% BenchmarkTCP6OneShotTimeout 361305 322212 -10.82% BenchmarkTCP6OneShotTimeout-2 378882 333928 -11.86% BenchmarkTCP6OneShotTimeout-3 388647 335881 -13.58% BenchmarkTCP6Persistent 47653 35345 -25.83% BenchmarkTCP6Persistent-2 49215 35736 -27.39% BenchmarkTCP6Persistent-3 38474 37493 -2.55% BenchmarkTCP6PersistentTimeout 56637 34369 -39.32% BenchmarkTCP6PersistentTimeout-2 42575 38079 -10.56% BenchmarkTCP6PersistentTimeout-3 44137 37689 -14.61% R=dvyukov CC=golang-dev https://golang.org/cl/8670044
-