- 22 Jul, 2014 6 commits
-
-
Dmitriy Vyukov authored
Currently they are scanned conservatively. But there is no reason to scan them. C world must not contain pointers into Go heap. Moreover, we don't have enough information to emit write barriers nor update pointers there in future. The immediate need is that it breaks the new GC because these are weird symbols as if with pointers but not necessary pointer aligned. LGTM=rsc R=golang-codereviews, rlh, rsc CC=golang-codereviews, iant, khr https://golang.org/cl/117000043
-
Keith Randall authored
CL 117950044 updates vet to fix LEA* issue. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/112440043
-
Keith Randall authored
In the runtime, we want to control where allocations happen. In particular, we don't want the code implementing malloc to itself trigger a malloc. This change prevents the compiler from inserting mallocs on our behalf (due to escaping declarations). This check does not trigger on the current runtime code. Note: Composite literals are still allowed. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/105280047
-
Keith Randall authored
So we can tell from a binary which version of Go built it. LGTM=minux, rsc R=golang-codereviews, minux, khr, rsc, dave CC=golang-codereviews https://golang.org/cl/117040043
-
David Symonds authored
LGTM=dave R=rsc, dave CC=golang-codereviews https://golang.org/cl/112420044
-
David Symonds authored
This is more useful than panicking, since otherwise every caller needs to do the length check before calling; some will forget, and have a potential submarine crasher as a result. Other implementations of this functionality do a length check. This is backward compatible, except if someone has written code that relies on this panicking with different length args. However, that was not the case before Go 1.3 either. Updates #7304. LGTM=agl R=agl, minux, hanwen CC=golang-codereviews https://golang.org/cl/118750043
-
- 21 Jul, 2014 8 commits
-
-
Dmitriy Vyukov authored
In both cases we lie to malloc about the actual size that we need. In panic we ask for less memory than we are going to use. In slice we ask for more memory than we are going to use (potentially asking for a fractional number of elements). This breaks the new GC. LGTM=khr R=golang-codereviews, dave, khr CC=golang-codereviews, rsc https://golang.org/cl/116940043
-
Dmitriy Vyukov authored
LGTM=khr R=golang-codereviews, dave, khr CC=golang-codereviews, rsc https://golang.org/cl/116950043
-
Russ Cox authored
Rewrite gotos that violate Go's stricter rules. Use uchar* instead of char* in a few places that aren't strings. Remove dead opcross code from asm5.c. Declare regstr (in both list6 and list8) static. LGTM=minux, dave R=minux, dave CC=golang-codereviews https://golang.org/cl/113230043
-
Russ Cox authored
Even though pointers are 4 bytes the stack frame should be kept a multiple of 8 bytes so that return addresses pushed on the stack are properly aligned. Fixes #8379. LGTM=dvyukov, minux R=minux, bradfitz, dvyukov, dave CC=golang-codereviews https://golang.org/cl/115840048
-
Brad Fitzpatrick authored
LGTM=rsc R=rsc, dan.kortschak CC=golang-codereviews, r https://golang.org/cl/115840046
-
Brad Fitzpatrick authored
We might want to add a go/build.IsInternal(pkg string) bool later, but this works for now. LGTM=dave, rsc R=rsc, dave CC=golang-codereviews https://golang.org/cl/113300044
-
Josh Bleecher Snyder authored
These correspond to 2 and 3 word fat copies/clears on 8g, which dominate usage in the stdlib. (70% of copies and 46% of clears are for 2 or 3 words.) I missed these in CL 111350043, which added 2 and 3 word benchmarks for 6g. A follow-up CL will optimize these cases. LGTM=khr R=khr CC=golang-codereviews https://golang.org/cl/115160043
-
Alex Brainman authored
LGTM=dvyukov R=golang-codereviews, dvyukov CC=golang-codereviews https://golang.org/cl/118020043
-
- 20 Jul, 2014 6 commits
-
-
Ian Lance Taylor authored
I'm improving gccgo's detection of variables that are only set but not used, and it triggers additional errors on this code. The new gccgo errors are correct; gc seems to suppress them due to the other, expected, errors. This change uses the variables so that no compiler will complain. gccgo change is https://golang.org/cl/119920043 . LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/116050043
-
Ian Lance Taylor authored
The gccgo compiler would fail this test. The fix for gccgo is https://golang.org/cl/116960043 . LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/118000043
-
Dmitriy Vyukov authored
GC thinks that it's an invalid pointer on plan9: http://build.golang.org/log/f7da638a20544ef7f45e81f23fdbc4875044c296 LGTM=0intro R=golang-codereviews, 0intro CC=aram, golang-codereviews https://golang.org/cl/113350043
-
Dmitriy Vyukov authored
benchmark old ns/op new ns/op delta BenchmarkSelectUncontended 220 165 -25.00% BenchmarkSelectContended 209 161 -22.97% BenchmarkSelectProdCons 1042 904 -13.24% But more importantly this change will allow to get rid of free function in runtime. Fixes #6494. LGTM=rsc, khr R=golang-codereviews, rsc, dominik.honnef, khr CC=golang-codereviews, remyoudompheng https://golang.org/cl/107670043
-
Dmitriy Vyukov authored
Fixes #8389. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/111320044
-
Anthony Martin authored
This is a temporary change to see how far the builder gets when it times out. LGTM=aram, 0intro R=0intro, aram CC=golang-codereviews, mischief https://golang.org/cl/111400043
-
- 19 Jul, 2014 6 commits
-
-
Keith Randall authored
subtract freed count before span gets merged during free. LGTM=dvyukov R=dmitry, dvyukov CC=golang-codereviews https://golang.org/cl/112450045
-
David du Colombier authored
Fix virtual address of the start of the text segment on amd64 Plan 9. This issue has been partially fixed in cmd/add2line, as part of CL 106460044, but we forgot to report the change to cmd/objdump. In the meantime, we also fixed the textStart address in both cmd/add2line and cmd/objdump. LGTM=aram, ality, mischief R=rsc, mischief, aram, ality CC=golang-codereviews, jas https://golang.org/cl/117920043
-
Ian Lance Taylor authored
LGTM=dvyukov R=golang-codereviews, dvyukov CC=golang-codereviews https://golang.org/cl/111360045
-
Shenghou Ma authored
Hook pre-commit runs before 'hg commit' command whereas hook precommit runs after the user has entered commit message. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/106320043
-
Shenghou Ma authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/105500043
-
Shenghou Ma authored
Fixes #8347. LGTM=dave R=golang-codereviews, dave CC=golang-codereviews https://golang.org/cl/109600044
-
- 18 Jul, 2014 12 commits
-
-
Josh Bleecher Snyder authored
The CopyFat benchmarks were changed in CL 92760044. See CL 111350043 for discussion. LGTM=khr R=khr CC=golang-codereviews https://golang.org/cl/116000043
-
Josh Bleecher Snyder authored
These benchmarks are important for performance. When compiling the stdlib: * 77.1% of the calls to sgen (copyfat) are for 16 bytes; another 8.7% are for 24 bytes. (The next most common is 32 bytes, at 5.7%.) * Over half the calls to clearfat are for 16 or 24 bytes. LGTM=khr R=golang-codereviews, khr CC=golang-codereviews https://golang.org/cl/111350043
-
Nicolas Owens authored
Ken's standalone file server and its derivatives, like cwfs, return error strings different from fossil when the user opens non-existent files. LGTM=aram, 0intro, r R=0intro, aram, r CC=golang-codereviews, ken https://golang.org/cl/112420045
-
Josh Bleecher Snyder authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/111330043
-
Egon Elbre authored
Also, fix a write check in writeBuf and make some bounds checks simpler. LGTM=gri R=golang-codereviews, adg, gri, r, minux CC=golang-codereviews https://golang.org/cl/113060043
-
Russ Cox authored
This CLA replaces the one for 'snyh'. Verified by hand. LGTM=minux R=iant, minux CC=golang-codereviews https://golang.org/cl/112420043
-
Keith Randall authored
updatememstats is called on both the m and g stacks. Call into flushallmcaches correctly. flushallmcaches can only run on the M stack. This is somewhat temporary. once ReadMemStats is in Go we can have all of this code M-only. LGTM=dvyukov R=golang-codereviews, dvyukov CC=golang-codereviews https://golang.org/cl/116880043
-
Dmitriy Vyukov authored
Pre Go1? LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/115870043
-
Dmitriy Vyukov authored
Encoder compilation must be enc-independent, because the resulting program is reused across different encoders. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/115860043
-
Shenghou Ma authored
Breaks build for FreeBSD. Probably clang related? ««« original CL description cmd/cgo: disable inappropriate warnings when the gcc struct is empty package main //#cgo CFLAGS: -Wall //void test() {} import "C" func main() { C.test() } This code will cause gcc issuing warnings about unused variable. This commit use offset of the second return value of Packages.structType to detect whether the gcc struct is empty, and if it's directly invoke the C function instead of writing an unused code. LGTM=dave, minux R=golang-codereviews, iant, minux, dave CC=golang-codereviews https://golang.org/cl/109640045 »»» TBR=dfc R=dave CC=golang-codereviews https://golang.org/cl/114990044
-
snyh authored
package main //#cgo CFLAGS: -Wall //void test() {} import "C" func main() { C.test() } This code will cause gcc issuing warnings about unused variable. This commit use offset of the second return value of Packages.structType to detect whether the gcc struct is empty, and if it's directly invoke the C function instead of writing an unused code. LGTM=dave, minux R=golang-codereviews, iant, minux, dave CC=golang-codereviews https://golang.org/cl/109640045
-
Dave Cheney authored
Fixes #8380. Also update hashmap.go to use throwgo rather than panic. LGTM=khr R=khr, rsc CC=golang-codereviews https://golang.org/cl/115860045
-
- 17 Jul, 2014 2 commits
-
-
Keith Randall authored
redo stack allocation. This is mostly the same as the original CL with a few bug fixes. 1. add racemalloc() for stack allocations 2. fix poolalloc/poolfree to terminate free lists correctly. 3. adjust span ref count correctly. 4. don't use cache for sizes >= StackCacheSize. Should fix bugs and memory leaks in original changelist. ««« original CL description undo CL 104200047 / 318b04f28372 Breaks windows and race detector. TBR=rsc ««« original CL description runtime: stack allocator, separate from mallocgc In order to move malloc to Go, we need to have a separate stack allocator. If we run out of stack during malloc, malloc will not be available to allocate a new stack. Stacks are the last remaining FlagNoGC objects in the GC heap. Once they are out, we can get rid of the distinction between the allocated/blockboundary bits. (This will be in a separate change.) Fixes #7468 Fixes #7424 LGTM=rsc, dvyukov R=golang-codereviews, dvyukov, khr, dave, rsc CC=golang-codereviews https://golang.org/cl/104200047 »»» TBR=rsc CC=golang-codereviews https://golang.org/cl/101570044 »»» LGTM=dvyukov R=dvyukov, dave, khr, alex.brainman CC=golang-codereviews https://golang.org/cl/112240044
-
Josh Bleecher Snyder authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/118860043
-