- 09 Jan, 2014 12 commits
-
-
Ian Lance Taylor authored
The spans array is allocated in runtime·mallocinit. On a 32-bit system the number of entries in the spans array is MaxArena32 / PageSize, which (2U << 30) / (1 << 12) == (1 << 19). So we are allocating an array that can hold 19 bits for an index that can hold 20 bits. According to the comment in the function, this is intentional: we only allocate enough spans (and bitmaps) for a 2G arena, because allocating more would probably be wasteful. But since the span index is simply the upper 20 bits of the memory address, this scheme only works if memory addresses are limited to the low 2G of memory. That would be OK if we were careful to enforce it, but we're not. What we are careful to enforce, in functions like runtime·MHeap_SysAlloc, is that we always return addresses between the heap's arena_start and arena_start + MaxArena32. We generally get away with it because we start allocating just after the program end, so we only run into trouble with programs that allocate a lot of memory, enough to get past address 0x80000000. This changes the code that computes a span index to subtract arena_start on 32-bit systems just as we currently do on 64-bit systems. R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/49460043
-
Robert Griesemer authored
It's difficult to make this much better w/o much more effort. This is a rare case and probably not worth it. Fixes #6052. R=golang-codereviews, bradfitz, adonovan CC=golang-codereviews https://golang.org/cl/49740045
-
Brad Fitzpatrick authored
R=golang-codereviews, minux.ma CC=golang-codereviews https://golang.org/cl/50190043
-
Shenghou Ma authored
Fixes #6998. R=golang-codereviews, gobot, r CC=golang-codereviews https://golang.org/cl/44880044
-
Adam Langley authored
The renegotiation extension was introduced[1] due to an attack by Ray in which a client's handshake was spliced into a connection that was renegotiating, thus giving an attacker the ability to inject an arbitary prefix into the connection. Go has never supported renegotiation as a server and so this attack doesn't apply. As a client, it's possible that at some point in the future the population of servers will be sufficiently updated that it'll be possible to reject connections where the server hasn't demonstrated that it has been updated to address this problem. We're not at that point yet, but it's good for Go servers to support the extension so that it might be possible to do in the future. [1] https://tools.ietf.org/search/rfc5746 R=golang-codereviews, mikioh.mikioh CC=golang-codereviews https://golang.org/cl/48580043
-
Brad Fitzpatrick authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/49950043
-
Rowan Worth authored
NPTL uses SIGRTMIN (signal 32) to effect thread cancellation. Go's runtime replaces NPTL's signal handler with its own, and ends up aborting if a C library that ends up calling pthread_cancel is used. This patch prevents runtime from replacing NPTL's handler. Fixes #6997. R=golang-codereviews, iant, dvyukov CC=golang-codereviews https://golang.org/cl/47540043
-
Ian Lance Taylor authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/49940043
-
Aram Hăvărneanu authored
R=golang-codereviews, dave, minux.ma, gobot, jsing CC=golang-codereviews https://golang.org/cl/36020043
-
Ian Lance Taylor authored
This prevents callers from using reflect to create a new instance of errorCString with an arbitrary value and calling the Error method to examine arbitrary memory. Fixes #7084. R=golang-codereviews, minux.ma, bradfitz CC=golang-codereviews https://golang.org/cl/49600043
-
Russ Cox authored
R=iant CC=golang-codereviews https://golang.org/cl/48890044
-
Russ Cox authored
Everything was doing this already with #defines. Do it right. R=golang-codereviews, jsing, 0intro, iant CC=golang-codereviews https://golang.org/cl/49090043
-
- 08 Jan, 2014 8 commits
-
-
Rob Pike authored
When printing the size, we often want to sort on that key. Because it's used when looking for large things, make the sort go from largest to smallest. Perfect recreation of CL 45150044, which was lost to some blunder. R=golang-codereviews, gobot, rsc CC=golang-codereviews https://golang.org/cl/48500044
-
David du Colombier authored
The CL 49090043 renamed Ureg structures to Ureg386, UregArm and UregAmd64. This broke build on Plan 9, since ureg_x86.h includes /386/include/ureg.h, which declares a structure named Ureg instead of Ureg386. R=golang-codereviews, bradfitz CC=golang-codereviews, rsc https://golang.org/cl/49260043
-
Keith Randall authored
R=dvyukov CC=golang-codereviews https://golang.org/cl/48840043
-
Ian Lance Taylor authored
This lets stack splits work correctly when running under gdb when gdb has inserted a breakpoint somewhere on the call stack. Fixes #6834. R=golang-codereviews, minux.ma CC=golang-codereviews https://golang.org/cl/48650043
-
Jeff Sickel authored
writing /net/dns or /net/cs (see nbd(8)). R=golang-codereviews CC=0intro, golang-codereviews, rsc https://golang.org/cl/49060043
-
Brad Fitzpatrick authored
Update #7069 R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/49180043
-
Aram Hăvărneanu authored
R=golang-codereviews, minux.ma, gobot, rsc, dave CC=golang-codereviews https://golang.org/cl/36040043
-
Michael Hudson-Doyle authored
When recompiling a package whose basename is the name of a standard package for testing with gccgo, a .o file with the basename of the package being tested was being placed in the _test/ directory where the compilation of the test binary then found it when looking for the standard library package. This change puts the object files in a separate directory. Fixes #6793 R=golang-codereviews, dave, gobot, rsc, iant CC=golang-codereviews https://golang.org/cl/27650045
-
- 07 Jan, 2014 10 commits
-
-
Keith Randall authored
record finalizers and heap profile info. Enables removing the special bit from the heap bitmap. Also provides a generic mechanism for annotating occasional heap objects. finalizers overhead per obj old 680 B 80 B avg new 16 B/span 48 B profile overhead per obj old 32KB 24 B + hash tables new 16 B/span 24 B R=cshapiro, khr, dvyukov, gobot CC=golang-codereviews https://golang.org/cl/13314053
-
Brad Fitzpatrick authored
A server Handler (e.g. a proxy) can receive a Request, and then turn around and give a copy of that Request.Body out to the Transport. So then two goroutines own that Request.Body (the server and the http client), and both think they can close it on failure. Therefore, all incoming server requests bodies (always *http.body from transfer.go) need to be thread-safe. Fixes #6995 R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/46570043
-
Shawn Smith authored
R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/46310043
-
Rémy Oudompheng authored
R=rsc CC=golang-codereviews https://golang.org/cl/48420044
-
Joel Sing authored
Unbreak the build - we do not have a sha512 block implementation in 386 assembly (yet). R=golang-codereviews, dave CC=golang-codereviews https://golang.org/cl/48520043
-
Rémy Oudompheng authored
Fixes #6723. R=rsc CC=golang-codereviews https://golang.org/cl/41570047
-
Joel Sing authored
Benchmark on Intel(R) Xeon(R) CPU X5650 @ 2.67GHz benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 1779 1114 -37.38% BenchmarkHash1K 9848 4894 -50.30% BenchmarkHash8K 68513 32187 -53.02% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 4.50 7.18 1.60x BenchmarkHash1K 103.97 209.19 2.01x BenchmarkHash8K 119.57 254.51 2.13x R=agl CC=golang-codereviews https://golang.org/cl/37150044
-
Aram Hăvărneanu authored
This change adds solaris to the list of supported operating systems and allows cmd/dist to be built on Solaris. This CL has to come first because we want the tools to ignore solaris-specific files until the whole port is integrated. R=golang-codereviews, jsing, rsc, minux.ma CC=golang-codereviews https://golang.org/cl/35900045
-
Joel Sing authored
Include the <sys/mman.h> header for NetBSD mkerrors.sh. This brings in constants used with mmap(2), msync(2) and mlockall(2). The regeneration of the NetBSD zerror* files also picks clone(2) related constants. Update #4929. R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/45510044
-
Russ Cox authored
[]byte("string") was simplifying to []byte{0: 0x73, 1: 0x74, 2: 0x72, 3: 0x69, 4: 0x6e, 5: 0x67}, but that latter form takes up much more memory in the compiler. Preserve the string form and recognize it to turn global variables initialized this way into linker-initialized data. Reduces the compiler memory footprint for a large []byte initialized this way from approximately 10 kB/B to under 100 B/B. See also issue 6643. R=golang-codereviews, r, iant, oleku.konko, dave, gobot, bradfitz CC=golang-codereviews https://golang.org/cl/15930045
-
- 06 Jan, 2014 10 commits
-
-
Adam Langley authored
Usually when a message is signed it's first hashed because RSA has low limits on the size of messages that it can sign. However, some protocols sign short messages directly. This isn't a great idea because the messages that can be signed suddenly depend on the size of the RSA key, but several people on golang-nuts have requested support for this and it's very easy to do. R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/44400043
-
Brad Fitzpatrick authored
See https://golang.org/cl/44150043/ ««« original CL description regexp: use sync.Pool For machines, not threads. Update #4720 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/44150043 »»» TBR=golang-dev CC=golang-codereviews https://golang.org/cl/48190043
-
Brad Fitzpatrick authored
ZIP64 Extra records are variably sized, but we weren't capping our reading of the extra fields at its previously-declared size. No test because I don't know how to easily create such files and don't feel like manually construction one. But all existing tests pass, and this is "obviously correct" (queue laughter). Fixes #7069 R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/48150043
-
Matthew Cottingham authored
Adds tests for branches handling call ordering which were shown to be untested by the cover tool. This is part of the refactoring of form parsing discussed in CL 44040043. These tests may need to be changed later but should help lock in the current behaviour. R=golang-codereviews, dave, bradfitz CC=golang-codereviews https://golang.org/cl/46750043
-
Bill Thiede authored
R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/47570043
-
Shawn Smith authored
R=golang-codereviews, gobot, r, bradfitz CC=golang-codereviews https://golang.org/cl/37660044
-
Joel Sing authored
Benchmark on Intel(R) Core(TM) i5-2500S CPU @ 2.70GHz (albeit in a VM) benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 1606 699 -56.48% BenchmarkHash1K 21920 7268 -66.84% BenchmarkHash8K 165696 53756 -67.56% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 4.98 11.44 2.30x BenchmarkHash1K 46.72 140.88 3.02x BenchmarkHash8K 49.44 152.39 3.08x R=agl, cldorian CC=golang-codereviews https://golang.org/cl/44800044
-
Volker Dobler authored
The Domain and Path field of a parsed cookie have been the unprocessed wire data since Go 1.0; this seems to be okay for most applications so let's keep it. Returning the unprocessed wire data makes it easy to handle nonstandard or even broken clients without consulting Raw or Unparsed of a cookie. The RFC 6265 parsing rules for domain and path are currently buried in net/http/cookiejar but could be exposed in net/http if necessary. R=bradfitz, nigeltao CC=golang-codereviews https://golang.org/cl/48060043
-
Volker Dobler authored
Document what values a PublicSuffixList must accept as a domain in a call to PublicSuffix. R=bradfitz, nigeltao CC=golang-codereviews https://golang.org/cl/47560044
-
Emil Hessman authored
Fixes #7063. R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/47950043
-