An error occurred fetching the project authors.
- 08 Mar, 2016 1 commit
-
-
Russ Cox authored
Before, those C files might have been intended for the Plan 9 C compiler, but that option was removed in Go 1.5. We can simplify the maintenance of cgo packages now if we assume C files (and C++ and M and SWIG files) should only be considered when cgo is enabled. Also remove newly unnecessary build tags in runtime/cgo's C files. Fixes #14123 Change-Id: Ia5a7fe62b9469965aa7c3547fe43c6c9292b8205 Reviewed-on: https://go-review.googlesource.com/19613Reviewed-by:
Ian Lance Taylor <iant@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 02 Mar, 2016 1 commit
-
-
Brad Fitzpatrick authored
The tree's pretty inconsistent about single space vs double space after a period in documentation. Make it consistently a single space, per earlier decisions. This means contributors won't be confused by misleading precedence. This CL doesn't use go/doc to parse. It only addresses // comments. It was generated with: $ perl -i -npe 's,^(\s*// .+[a-z]\.) +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.) +([A-Z])') $ go test go/doc -update Change-Id: Iccdb99c37c797ef1f804a94b22ba5ee4b500c4f7 Reviewed-on: https://go-review.googlesource.com/20022Reviewed-by:
Rob Pike <r@golang.org> Reviewed-by:
Dave Day <djd@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 01 Mar, 2016 1 commit
-
-
Brad Fitzpatrick authored
This is a subset of https://golang.org/cl/20022 with only the copyright header lines, so the next CL will be smaller and more reviewable. Go policy has been single space after periods in comments for some time. The copyright header template at: https://golang.org/doc/contribute.html#copyright also uses a single space. Make them all consistent. Change-Id: Icc26c6b8495c3820da6b171ca96a74701b4a01b0 Reviewed-on: https://go-review.googlesource.com/20111 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org> Reviewed-by:
Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 27 Jan, 2016 1 commit
-
-
Russ Cox authored
Followup to CL 19001. Change-Id: I7fa838b1ee8df53229e9dd29a231c2f9b2aa3f69 Reviewed-on: https://go-review.googlesource.com/19003Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
- 09 Sep, 2014 1 commit
-
-
Russ Cox authored
Commit to stack copying for stack growth. We're carrying around a surprising amount of cruft from older schemes. I am confident that precise stack scans and stack copying are here to stay. Delete fallback code for when precise stack info is disabled. Delete fallback code for when copying stacks is disabled. Delete fallback code for when StackCopyAlways is disabled. Delete Stktop chain - there is only one stack segment now. Delete M.moreargp, M.moreargsize, M.moreframesize, M.cret. Delete G.writenbuf (unrelated, just dead). Delete runtime.lessstack, runtime.oldstack. Delete many amd64 morestack variants. Delete initialization of morestack frame/arg sizes (shortens split prologue!). Replace G's stackguard/stackbase/stack0/stacksize/ syscallstack/syscallguard/forkstackguard with simple stack bounds (lo, hi). Update liblink, runtime/cgo for adjustments to G. LGTM=khr R=khr, bradfitz CC=golang-codereviews, iant, r https://golang.org/cl/137410043
-
- 08 Sep, 2014 1 commit
-
-
Russ Cox authored
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.
-
- 26 Jun, 2014 1 commit
-
-
Russ Cox authored
The runtime has historically held two dedicated values g (current goroutine) and m (current thread) in 'extern register' slots (TLS on x86, real registers backed by TLS on ARM). This CL removes the extern register m; code now uses g->m. On ARM, this frees up the register that formerly held m (R9). This is important for NaCl, because NaCl ARM code cannot use R9 at all. The Go 1 macrobenchmarks (those with per-op times >= 10 µs) are unaffected: BenchmarkBinaryTree17 5491374955 5471024381 -0.37% BenchmarkFannkuch11 4357101311 4275174828 -1.88% BenchmarkGobDecode 11029957 11364184 +3.03% BenchmarkGobEncode 6852205 6784822 -0.98% BenchmarkGzip 650795967 650152275 -0.10% BenchmarkGunzip 140962363 141041670 +0.06% BenchmarkHTTPClientServer 71581 73081 +2.10% BenchmarkJSONEncode 31928079 31913356 -0.05% BenchmarkJSONDecode 117470065 113689916 -3.22% BenchmarkMandelbrot200 6008923 5998712 -0.17% BenchmarkGoParse 6310917 6327487 +0.26% BenchmarkRegexpMatchMedium_1K 114568 114763 +0.17% BenchmarkRegexpMatchHard_1K 168977 169244 +0.16% BenchmarkRevcomp 935294971 914060918 -2.27% BenchmarkTemplate 145917123 148186096 +1.55% Minux previous reported larger variations, but these were caused by run-to-run noise, not repeatable slowdowns. Actual code changes by Minux. I only did the docs and the benchmarking. LGTM=dvyukov, iant, minux R=minux, josharian, iant, dave, bradfitz, dvyukov CC=golang-codereviews https://golang.org/cl/109050043
-
- 07 Feb, 2014 1 commit
-
-
Mikio Hara authored
This CL is in preparation to make cgo work on freebsd/arm. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/60500044
-
- 24 Dec, 2013 2 commits
-
-
Ian Lance Taylor authored
R=golang-codereviews TBR=dfc CC=golang-codereviews https://golang.org/cl/43120044
-
Ian Lance Taylor authored
This was done correctly for most targets but was missing from FreeBSD/ARM and Linux/ARM. R=golang-codereviews, dave CC=golang-codereviews https://golang.org/cl/45180043
-
- 14 Aug, 2013 1 commit
-
-
Elias Naur authored
This CL is an aggregate of 10271047, 10499043, 9733044. Descriptions of each follow: 10499043 runtime,cmd/ld: Merge TLS symbols and teach 5l about ARM TLS This CL prepares for external linking support to ARM. The pseudo-symbols runtime.g and runtime.m are merged into a single runtime.tlsgm symbol. When external linking, the offset of a thread local variable is stored at a memory location instead of being embedded into a offset of a ldr instruction. With a single runtime.tlsgm symbol for both g and m, only one such offset is needed. The larger part of this CL moves TLS code from gcc compiled to internally compiled. The TLS code now uses the modern MRC instruction, and 5l is taught about TLS fallbacks in case the instruction is not available or appropriate. 10271047 This CL adds support for -linkmode external to 5l. For 5l itself, use addrel to allow for D_CALL relocations to be handled by the host linker. Of the cases listed in rsc's comment in issue 4069, only case 5 and 63 needed an update. One of the TODO: addrel cases was since replaced, and the rest of the cases are either covered by indirection through addpool (cases with LTO or LFROM flags) or stubs (case 74). The addpool cases are covered because addpool emits AWORD instructions, which in turn are handled by case 11. In the runtime, change the argv argument in the rt0* functions slightly to be a pointer to the argv list, instead of relying on a particular location of argv. 9733044 The -shared flag to 6l outputs a shared library, implemented in Go and callable from non-Go programs such as C. The main part of this CL change the thread local storage model. Go uses the fastest and least general mode, local exec. TLS data in shared libraries normally requires at least the local dynamic mode, however, this CL instead opts for using the initial exec mode. Initial exec mode is faster than local dynamic mode and can be used in linux since the linker has reserved a limited amount of TLS space for performance sensitive TLS code. Initial exec mode requires an extra load from the GOT table to determine the TLS offset. This penalty will not be paid if ld is not in -shared mode, since TLS accesses will be reduced to local exec. The elf sections .init_array and .rela.init_array are added to register the Go runtime entry with cgo at library load time. The "hidden" attribute is added to Cgo functions called from Go, since Go does not generate call through the GOT table, and adding non-GOT relocations for a global function is not supported by gcc. Cgo symbols don't need to be global and avoiding the GOT table is also faster. The changes to 8l are only removes code relevant to the old -shared mode where internal linking was used. This CL only address the low level linker work. It can be submitted by itself, but to be useful, the runtime changes in CL 9738047 is also needed. Design discussion at https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/zmjXkGrEx6Q Fixes #5590. R=rsc CC=golang-dev https://golang.org/cl/12871044
-
- 22 Mar, 2013 1 commit
-
-
Shenghou Ma authored
R=dave, rsc CC=golang-dev https://golang.org/cl/7970043
-
- 28 Feb, 2013 2 commits
-
-
Russ Cox authored
There are some function pointers declared by 6c in package runtime without initialization and then also declared in package runtime/cgo with initialization, so that if runtime/cgo is linked in, the function pointers are non-nil, and otherwise they are nil. We depend on this property for implementing non-essential cgo hooks in package runtime. The declarations in package runtime are 6c-compiled and end up in .6 files. The declarations in package runtime/cgo are gcc-compiled and end up in .o files. Since 6l links the .6 and .o files together, this all works. However, when we switch to "external linking" mode, 6l will not see the .o files, and it would be up to the host linker to resolve the two into a single initialized symbol. Not all host linkers will do this (in particular OS X gcc will not). To fix this, move the cgo declarations into 6c-compiled code, so that they end up in .6 files, so that 6l gets them no matter what. R=golang-dev CC=golang-dev https://golang.org/cl/7440045
-
Russ Cox authored
The naming in this package is a disaster. Make it all consistent. Remove some 'static' from functions that will be referred to from other files soon. This CL is purely renames using global search and replace. Submitting separately so that real changes will not be drowned out by these renames in future CLs. TBR=iant CC=golang-dev https://golang.org/cl/7416046
-
- 26 Feb, 2013 1 commit
-
-
Anthony Martin authored
R=minux.ma, rsc, akumar, bradfitz CC=golang-dev https://golang.org/cl/7313070
-
- 02 Nov, 2012 1 commit
-
-
Shenghou Ma authored
This is the last CL for FreeBSD/ARM support. Also update cmd/ld/doc.go for 5l support of -Hfreebsd. R=rsc CC=golang-dev https://golang.org/cl/6650051
-
- 04 May, 2012 1 commit
-
-
Shenghou Ma authored
Part 2 of CL 5601044 (cgo: Linux/ARM support) R=dave, rsc CC=golang-dev https://golang.org/cl/5989057
-
- 20 Dec, 2011 1 commit
-
-
Russ Cox authored
Also rename -v to -x in the build and install commands, to match the flag in go test (which we can't change because -v is taken). Matches sh -x anyway. R=r, iant, ality CC=golang-dev https://golang.org/cl/5504045
-
- 09 Nov, 2011 1 commit
-
-
Dmitriy Vyukov authored
Fixes crash when cgo consumes more than 8K of stack and makes a callback. Fixes #1328. R=golang-dev, rogpeppe, rsc CC=golang-dev, mpimenov https://golang.org/cl/5371042
-
- 08 Dec, 2010 3 commits
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/3523041
-
Russ Cox authored
Necessary but not sufficient step toward making those builds work. R=r CC=golang-dev https://golang.org/cl/3411043
-
Russ Cox authored
Move unported files (freebsd*, windows*, nacl*) to runtime/cgo. Step toward fixing FreeBSD build. R=r TBR=r CC=golang-dev https://golang.org/cl/3497042
-
- 13 Sep, 2010 1 commit
-
-
Nigel Tao authored
R=r, rsc, nigeltao CC=golang-dev https://golang.org/cl/2110046
-
- 03 Oct, 2009 1 commit
-
-
Russ Cox authored
better mach binaries. cgo working on darwin+linux amd64+386. eliminated context switches - pi is 30x faster. add libcgo to build. on snow leopard: - non-cgo binaries work; all tests pass. - cgo binaries work on amd64 but not 386. R=r DELTA=2031 (1316 added, 626 deleted, 89 changed) OCL=35264 CL=35304
-