aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal
AgeCommit message (Collapse)Author
2016-04-13runtime/internal/atomic: remove write barrier from Storep1 on s390xAustin Clements
atomic.Storep1 is not supposed to invoke a write barrier (that's what atomicstorep is for), but currently does on s390x. This causes a panic in runtime.mapzero when it tries to use atomic.Storep1 to store what's actually a scalar. Fix this by eliminating the write barrier from atomic.Storep1 on s390x. Also add some documentation to atomicstorep to explain the difference between these. Fixes #15270. Change-Id: I291846732d82f090a218df3ef6351180aff54e81 Reviewed-on: https://go-review.googlesource.com/21993 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Michael Munday <munday@ca.ibm.com>
2016-04-12runtime/internal/atomic: add s390x atomic operationsMichael Munday
Load and store instructions are atomic on the s390x. Change-Id: I0031ed2fba43f33863bca114d0fdec2e7d1ce807 Reviewed-on: https://go-review.googlesource.com/20938 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-11runtime: remove remaining references to TheCharJeremy Jackins
After mdempsky's recent changes, these are the only references to "TheChar" left in the Go tree. Without the context, and without knowing the history, this is confusing. Also rename sys.TheGoos and sys.TheGoarch to sys.GOOS and sys.GOARCH. Also change the heap dump format to include sys.GOARCH rather than TheChar, which is no longer a concept. Updates #15169 (changes heapdump format) Change-Id: I3e99eeeae00ed55d7d01e6ed503d958c6e931dca Reviewed-on: https://go-review.googlesource.com/21647 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-03-28cmd/compile: added some intrinsics to SSA back endDavid Chase
One intrinsic was needed to help get the very best performance out of a future GC; as long as that one was being added, I also added Bswap since that is sometimes a handy thing to have. I had intended to fill out the bit-scan intrinsic family, but the mismatch between the "scan forward" instruction and "count leading zeroes" was large enough to cause me to leave it out -- it poses a dilemma that I'd rather dodge right now. These intrinsics are not exposed for general use. That's a separate issue requiring an API proposal change ( https://github.com/golang/proposal ) All intrinsics are tested, both that they are substituted on the appropriate architecture, and that they produce the expected result. Change-Id: I5848037cfd97de4f75bdc33bdd89bba00af4a8ee Reviewed-on: https://go-review.googlesource.com/20564 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-03-21runtime/internal/sys: add s390x supportMichael Munday
Change-Id: I928532b406a3457d2c5f75f4de7d46a3f795192e Reviewed-on: https://go-review.googlesource.com/20939 Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-07runtime: new files for plan9_arm supportRichard Miller
Implementation more or less follows plan9_386 version. Revised 7 March to correct a bug in runtime.seek and tidy whitespace for 8-column tabs. Change-Id: I2e921558b5816502e8aafe330530c5a48a6c7537 Reviewed-on: https://go-review.googlesource.com/18966 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-02all: single space after period.Brad Fitzpatrick
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/20022 Reviewed-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>
2016-03-01all: make copyright headers consistent with one space after periodBrad Fitzpatrick
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>
2016-01-13runtime/internal/atomic: use //go:noinline to prevent inlining, not assembly nopMichael Hudson-Doyle
A bit cleanuppy for 1.6 maybe, but something I happened to notice. Change-Id: I70f3b48445f4f527d67f7b202b6171195440b09f Reviewed-on: https://go-review.googlesource.com/18550 Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-12cmd/internal/obj, cmd/link, runtime: use a larger stack frame on ppc64Michael Hudson-Doyle
The larger stack frames causes the nosplit stack to overflow so the next change increases the stackguard. Change-Id: Ib2b4f24f0649eb1d13e3a58d265f13d1b6cc9bf9 Reviewed-on: https://go-review.googlesource.com/15964 Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-12runtime/internal/sys: remove IntptrMatthew Dempsky
Apparently its last use was removed in CL 8899. Change-Id: I4f3a789b3cc4c249582e81463af62b576a281e40 Reviewed-on: https://go-review.googlesource.com/16880 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-11-12runtime, runtime/internal/sys: fix build for linux/{mips64,mips64le}Shenghou Ma
Change-Id: I37bac9680efdfd797ca5dca90bd9a9e1001bfb68 Reviewed-on: https://go-review.googlesource.com/16874 Reviewed-by: Michael Matloob <matloob@golang.org>
2015-11-12runtime: delete runtime/internal/atomic/textflag.hMichael Matloob
As per mdempsky's comment on golang.org/cl/14204, textflag.h is copied to the includes dir by cmd/dist, and the copy in runtime/internal/atomic is not actually being used. Updates #11647 Change-Id: Ie95c08903a9df54cea4c70ee9d5291176f7b5609 Reviewed-on: https://go-review.googlesource.com/16871 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2015-11-12runtime: move arch_mips64(le)?.go into runtime/internal/sysMichael Matloob
Somehow these were left out of the orignial CL. Updates #11647 Change-Id: I058a30eaa25fbb72d60e7fb6bc9ff0a3b54fdb2a Reviewed-on: https://go-review.googlesource.com/16870 Reviewed-by: Minux Ma <minux@golang.org>
2015-11-12runtime/internal/atomic: delete arch1_*.go filesMichael Matloob
I made a copy of the per-arch _CacheLineSize definitons when checking in runtime/internal/atomic. Now that runtime/internal/sys is checked in, we can use the definition there. Change-Id: I7242f6b633e4164f033b67ff471416b9d71c64d2 Reviewed-on: https://go-review.googlesource.com/16847 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-11-12runtime: break out system-specific constants into package sysMichael Matloob
runtime/internal/sys will hold system-, architecture- and config- specific constants. Updates #11647 Change-Id: I6db29c312556087a42e8d2bdd9af40d157c56b54 Reviewed-on: https://go-review.googlesource.com/16817 Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-12runtime/internal/atomic: added mips64 support.Yao Zhang
Change-Id: I2eaf0658771a0ff788429e2f503d116531166315 Reviewed-on: https://go-review.googlesource.com/16834 Reviewed-by: Minux Ma <minux@golang.org>
2015-11-10runtime: break atomics out into package runtime/internal/atomicMichael Matloob
This change breaks out most of the atomics functions in the runtime into package runtime/internal/atomic. It adds some basic support in the toolchain for runtime packages, and also modifies linux/arm atomics to remove the dependency on the runtime's mutex. The mutexes have been replaced with spinlocks. all trybots are happy! In addition to the trybots, I've tested on the darwin/arm64 builder, on the darwin/arm builder, and on a ppc64le machine. Change-Id: I6698c8e3cf3834f55ce5824059f44d00dc8e3c2f Reviewed-on: https://go-review.googlesource.com/14204 Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>