1
0
mirror of https://github.com/golang/go synced 2024-11-19 16:54:44 -07:00
go/src/runtime
Lynn Boger eeca3ba92f sync/atomic, runtime/internal/atomic: improve ppc64x atomics
The following performance improvements have been made to the
low-level atomic functions for ppc64le & ppc64:

- For those cases containing a lwarx and stwcx (or other sizes):
sync, lwarx, maybe something, stwcx, loop to sync, sync, isync
The sync is moved before (outside) the lwarx/stwcx loop, and the
 sync after is removed, so it becomes:
sync, lwarx, maybe something, stwcx, loop to lwarx, isync

- For the Or8 and And8, the shifting and manipulation of the
address to the word aligned version were removed and the
instructions were changed to use lbarx, stbcx instead of
register shifting, xor, then lwarx, stwcx.

- New instructions LWSYNC, LBAR, STBCC were tested and added.
runtime/atomic_ppc64x.s was changed to use the LWSYNC opcode
instead of the WORD encoding.

Fixes #15469

Ran some of the benchmarks in the runtime and sync directories.
Some results varied from run to run but the trend was improvement
based on best times for base and new:

runtime.test:
BenchmarkChanNonblocking-128         0.88          0.89          +1.14%
BenchmarkChanUncontended-128         569           511           -10.19%
BenchmarkChanContended-128           63110         53231         -15.65%
BenchmarkChanSync-128                691           598           -13.46%
BenchmarkChanSyncWork-128            11355         11649         +2.59%
BenchmarkChanProdCons0-128           2402          2090          -12.99%
BenchmarkChanProdCons10-128          1348          1363          +1.11%
BenchmarkChanProdCons100-128         1002          746           -25.55%
BenchmarkChanProdConsWork0-128       2554          2720          +6.50%
BenchmarkChanProdConsWork10-128      1909          1804          -5.50%
BenchmarkChanProdConsWork100-128     1624          1580          -2.71%
BenchmarkChanCreation-128            237           212           -10.55%
BenchmarkChanSem-128                 705           667           -5.39%
BenchmarkChanPopular-128             5081190       4497566       -11.49%

BenchmarkCreateGoroutines-128             532           473           -11.09%
BenchmarkCreateGoroutinesParallel-128     35.0          34.7          -0.86%
BenchmarkCreateGoroutinesCapture-128      4923          4200          -14.69%

sync.test:
BenchmarkUncontendedSemaphore-128      112           94.2          -15.89%
BenchmarkContendedSemaphore-128        133           128           -3.76%
BenchmarkMutexUncontended-128          1.90          1.67          -12.11%
BenchmarkMutex-128                     353           310           -12.18%
BenchmarkMutexSlack-128                304           283           -6.91%
BenchmarkMutexWork-128                 554           541           -2.35%
BenchmarkMutexWorkSlack-128            567           556           -1.94%
BenchmarkMutexNoSpin-128               275           242           -12.00%
BenchmarkMutexSpin-128                 1129          1030          -8.77%
BenchmarkOnce-128                      1.08          0.96          -11.11%
BenchmarkPool-128                      29.8          27.4          -8.05%
BenchmarkPoolOverflow-128              40564         36583         -9.81%
BenchmarkSemaUncontended-128           3.14          2.63          -16.24%
BenchmarkSemaSyntNonblock-128          1087          1069          -1.66%
BenchmarkSemaSyntBlock-128             897           893           -0.45%
BenchmarkSemaWorkNonblock-128          1034          1028          -0.58%
BenchmarkSemaWorkBlock-128             949           886           -6.64%

Change-Id: I4403fb29d3cd5254b7b1ce87a216bd11b391079e
Reviewed-on: https://go-review.googlesource.com/22549
Reviewed-by: Michael Munday <munday@ca.ibm.com>
Reviewed-by: Minux Ma <minux@golang.org>
2016-05-05 18:52:28 +00:00
..
cgo runtime/cgo: add context argument to crosscall2 on mips64 2016-05-04 16:40:44 +00:00
debug runtime/debug: clarify WriteHeapDump STW behavior 2016-03-16 17:02:50 +00:00
internal sync/atomic, runtime/internal/atomic: improve ppc64x atomics 2016-05-05 18:52:28 +00:00
msan runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
pprof runtime: call mallocgc directly from makeslice and growslice 2016-04-20 00:05:36 +00:00
race runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
testdata runtime: put tracebackctxt C functions in .c file 2016-05-05 01:19:18 +00:00
trace runtime/trace: test detection of broken timestamps 2016-04-24 09:11:37 +00:00
alg.go cmd/compile, etc: use nameOff for rtype string 2016-04-22 10:08:05 +00:00
append_test.go runtime: add benchmarks for in-place append 2016-04-18 19:08:39 +00:00
asm_386.s cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
asm_amd64.s cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
asm_amd64p32.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_arm64.s runtime: fix cgocallback_gofunc argument passing on arm64 2016-04-29 23:10:52 +00:00
asm_arm.s cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
asm_mips64x.s runtime: add linux/mips64x cgo support 2016-05-04 16:41:10 +00:00
asm_ppc64x.h all: single space after period. 2016-03-02 00:13:47 +00:00
asm_ppc64x.s runtime: fix cgocallback_gofunc on ppc64x 2016-04-30 03:49:22 +00:00
asm_s390x.s cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
asm.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
atomic_arm64.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
atomic_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
atomic_pointer.go sync/atomic: don't atomically write pointers twice 2016-04-14 21:13:26 +00:00
atomic_ppc64x.s sync/atomic, runtime/internal/atomic: improve ppc64x atomics 2016-05-05 18:52:28 +00:00
callers_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_mips64x.go runtime: add linux/mips64x cgo support 2016-05-04 16:41:10 +00:00
cgo_mmap.go all: single space after period. 2016-03-02 00:13:47 +00:00
cgo_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo.go cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
cgocall.go runtime: add linux/mips64x cgo support 2016-05-04 16:41:10 +00:00
cgocallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgocheck.go all: single space after period. 2016-03-02 00:13:47 +00:00
chan_test.go runtime: sleep less when we can do work 2016-04-05 15:32:06 +00:00
chan.go runtime: use type int to specify size for newarray 2016-04-21 04:15:14 +00:00
chanbarrier_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
closure_test.go
compiler.go all: single space after period. 2016-03-02 00:13:47 +00:00
complex_test.go
complex.go
cpuprof.go all: single space after period. 2016-03-02 00:13:47 +00:00
cputicks.go all: single space after period. 2016-03-02 00:13:47 +00:00
crash_cgo_test.go runtime: skip TestCgoCallbackGC on linux/mips64x 2016-05-05 14:58:14 +00:00
crash_test.go runtime: make execution error panic values implement the Error interface 2016-04-10 01:16:30 +00:00
crash_unix_test.go runtime: fix deadlock in TestCrashDumpsAllThreads 2016-02-16 20:18:40 +00:00
debug.go all: single space after period. 2016-03-02 00:13:47 +00:00
defs1_linux.go
defs1_netbsd_386.go
defs1_netbsd_amd64.go
defs1_netbsd_arm.go
defs1_solaris_amd64.go
defs2_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
defs3_linux.go
defs_arm_linux.go
defs_darwin_386.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_amd64.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_arm64.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_arm.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_dragonfly_amd64.go
defs_dragonfly.go
defs_freebsd_386.go
defs_freebsd_amd64.go
defs_freebsd_arm.go
defs_freebsd.go
defs_linux_386.go
defs_linux_amd64.go runtime: add syscalls needed for android/amd64 logging. 2015-10-20 16:56:58 +00:00
defs_linux_arm64.go runtime: android/arm64 support 2015-11-17 16:28:18 +00:00
defs_linux_arm.go
defs_linux_mips64x.go runtime: added go files for linux/mips64{,le} support 2015-11-12 04:47:15 +00:00
defs_linux_ppc64.go
defs_linux_ppc64le.go
defs_linux_s390x.go runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
defs_linux.go
defs_nacl_386.go
defs_nacl_amd64p32.go
defs_nacl_arm.go
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_netbsd.go
defs_openbsd_386.go
defs_openbsd_amd64.go
defs_openbsd_arm.go
defs_openbsd.go
defs_plan9_386.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
defs_plan9_amd64.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
defs_plan9_arm.go runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
defs_solaris_amd64.go
defs_solaris.go
defs_windows_386.go
defs_windows_amd64.go
defs_windows.go
duff_386.s
duff_amd64.s
duff_arm64.s
duff_arm.s
duff_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
duff_ppc64x.s cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
env_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
env_posix.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
env_test.go
error.go cmd/compile, etc: use nameOff for rtype string 2016-04-22 10:08:05 +00:00
export_arm_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_futex_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_mmap_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_test.go runtime: fix CPU underutilization 2016-05-03 10:06:32 +00:00
export_windows_test.go runtime: revert "do not call timeBeginPeriod on windows" 2016-04-09 16:11:41 +00:00
extern.go runtime: remove remaining references to TheChar 2016-04-11 04:32:07 +00:00
fastlog2_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
fastlog2.go
fastlog2table.go
funcdata.h runtime: fix a typo in asssembly macro GO_RESULTS_INITIALIZED 2016-03-14 14:53:29 +00:00
futex_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
gc_test.go runtime: fix pagesInUse accounting 2016-04-04 15:33:26 +00:00
gcinfo_test.go runtime: reclaim scan/dead bit in first word 2016-04-30 16:49:54 +00:00
go_tls.h all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
hash32.go
hash64.go runtime: add s390x support (modified files only) 2016-04-06 04:25:06 +00:00
hash_test.go runtime: add space 2016-03-18 21:31:49 +00:00
hashmap_fast.go cmd/compile: change the way we handle large map values 2016-04-20 21:15:31 +00:00
hashmap.go runtime: use type int to specify size for newarray 2016-04-21 04:15:14 +00:00
heapdump.go runtime: reclaim scan/dead bit in first word 2016-04-30 16:49:54 +00:00
iface_test.go
iface.go cmd/compile, etc: use nameOff in uncommonType 2016-04-22 13:51:29 +00:00
lfstack_32bit.go Revert "runtime: merge lfstack{Pack,Unpack} into one file" 2016-04-07 14:05:24 +00:00
lfstack_64bit.go runtime: merge lfstack_amd64.go into lfstack_64bit.go 2016-04-11 06:18:52 +00:00
lfstack_test.go
lfstack.go runtime: find a home for orphaned comments 2016-04-14 18:34:09 +00:00
lock_futex.go runtime: find a home for orphaned comments 2016-04-14 18:34:09 +00:00
lock_sema.go all: single space after period. 2016-03-02 00:13:47 +00:00
Makefile
malloc_test.go runtime: accept NumGC==0 in TestMemStats 2015-12-16 18:54:50 +00:00
malloc.go runtime: reclaim scan/dead bit in first word 2016-04-30 16:49:54 +00:00
map_test.go cmd/compile: change the way we handle large map values 2016-04-20 21:15:31 +00:00
mapspeed_test.go
mbarrier.go runtime: don't rescan globals 2016-04-27 18:48:16 +00:00
mbitmap.go runtime: update some comments 2016-05-01 03:31:50 +00:00
mcache.go [dev.garbage] runtime: replace ref with allocCount 2016-04-27 21:54:49 +00:00
mcentral.go [dev.garbage] runtime: reintroduce no-zeroing optimization 2016-04-29 15:08:13 +00:00
mem_bsd.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mem_darwin.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mem_linux.go runtime: check that sysUnused is always physical-page aligned 2016-04-16 21:42:40 +00:00
mem_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
mem_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
memclr_386.s runtime: memmove/memclr pointers atomically 2015-11-07 02:42:12 +00:00
memclr_amd64.s all: fix typos and spelling 2016-02-24 18:42:29 +00:00
memclr_arm64.s
memclr_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
memclr_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
memclr_plan9_386.s runtime: memmove/memclr pointers atomically 2015-11-07 02:42:12 +00:00
memclr_plan9_amd64.s
memclr_ppc64x.s cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
memclr_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
memmove_386.s runtime: don't use REP;MOVSB if CPUID doesn't say it is fast 2016-03-31 02:54:10 +00:00
memmove_amd64.s runtime: don't use REP;MOVSB if CPUID doesn't say it is fast 2016-03-31 02:54:10 +00:00
memmove_arm64.s
memmove_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_linux_amd64_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
memmove_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
memmove_nacl_amd64p32.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_plan9_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_plan9_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_ppc64x.s runtime: improve memmove performance ppc64,ppc64le 2016-04-13 15:27:59 +00:00
memmove_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
memmove_test.go runtime: use MOVSB instead of MOVSQ for unaligned moves 2016-03-21 19:10:24 +00:00
mfinal_test.go
mfinal.go [dev.garbage] runtime: use s.base() everywhere it makes sense 2016-04-29 03:53:14 +00:00
mfixalloc.go all: single space after period. 2016-03-02 00:13:47 +00:00
mgc.go runtime: don't rescan globals 2016-04-27 18:48:16 +00:00
mgcmark.go runtime: reclaim scan/dead bit in first word 2016-04-30 16:49:54 +00:00
mgcsweep.go runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
mgcwork.go [dev.garbage] runtime: add gc work buffer tryGet and put fast paths 2016-04-27 21:55:02 +00:00
mheap.go [dev.garbage] runtime: eliminate mspan.start 2016-04-29 03:53:17 +00:00
mkduff.go runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
mkfastlog2table.go
mknacl.sh all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
mmap.go runtime: find a home for orphaned comments 2016-04-14 18:34:09 +00:00
mprof.go cmd/compile, etc: use nameOff for rtype string 2016-04-22 10:08:05 +00:00
msan0.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
msan_amd64.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
msan.go all: single space after period. 2016-03-02 00:13:47 +00:00
msize.go [dev.garbage] runtime: bitmap allocation data structs 2016-04-27 21:54:35 +00:00
mstats.go [dev.garbage] runtime: replace ref with allocCount 2016-04-27 21:54:49 +00:00
mstkbar.go runtime: remove stack barriers during sweep 2016-04-26 23:40:04 +00:00
netpoll_epoll.go
netpoll_kqueue.go all: single space after period. 2016-03-02 00:13:47 +00:00
netpoll_nacl.go
netpoll_solaris.go all: fix typos and spelling 2016-02-24 18:42:29 +00:00
netpoll_stub.go
netpoll_windows.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
netpoll.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
noasm.go runtime: add s390x support (modified files only) 2016-04-06 04:25:06 +00:00
norace_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
norace_test.go all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
os1_freebsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_nacl.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
os1_openbsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_plan9.go runtime: simplify mallocgc flag argument 2016-04-20 14:02:22 +00:00
os2_freebsd.go
os2_nacl.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_plan9.go
os2_solaris.go
os3_plan9.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
os3_solaris.go all: single space after period. 2016-03-02 00:13:47 +00:00
os_android.go runtime: android/arm64 support 2015-11-17 16:28:18 +00:00
os_darwin_arm64.go
os_darwin_arm.go
os_darwin.go runtime: rename os1_darwin.go to os_darwin.go 2016-04-13 20:37:12 +00:00
os_dragonfly.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_freebsd_arm.go
os_freebsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_linux_arm64.go runtime: common handling of _AT_RANDOM auxv 2016-04-16 21:42:31 +00:00
os_linux_arm.go runtime: common handling of _AT_RANDOM auxv 2016-04-16 21:42:31 +00:00
os_linux_generic.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_linux_mips64x.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_linux_noauxv.go runtime: remove empty 386 archauxv 2016-04-16 21:42:34 +00:00
os_linux_s390x.go runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
os_linux.go runtime: check kernel physical page size during init 2016-04-16 21:42:37 +00:00
os_nacl_arm.go
os_nacl.go all: single space after period. 2016-03-02 00:13:47 +00:00
os_netbsd_386.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_netbsd_amd64.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_netbsd_arm.go
os_netbsd.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_openbsd_arm.go
os_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_plan9_arm.go runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
os_plan9.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
os_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_windows.go runtime: revert "do not call timeBeginPeriod on windows" 2016-04-09 16:11:41 +00:00
panic.go runtime: simplify mallocgc flag argument 2016-04-20 14:02:22 +00:00
print.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
proc_runtime_test.go runtime: improve randomized stealing logic 2016-03-25 11:00:48 +00:00
proc_test.go runtime: fix CPU underutilization 2016-05-03 10:06:32 +00:00
proc.go runtime: use cgo traceback for SIGPROF 2016-05-04 00:08:19 +00:00
race0.go runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
race_amd64.s runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
race.go runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
rdebug.go runtime: simplify setPanicOnFault slightly 2016-04-13 06:14:06 +00:00
rt0_android_386.s cmd,runtime: TLS setup for android/386 2015-11-11 21:59:24 +00:00
rt0_android_amd64.s runtime, cmd: TLS setup for android/amd64. 2015-10-28 20:54:28 +00:00
rt0_android_arm64.s runtime: init argc/argv for android/arm64 c-shared 2015-12-15 13:49:47 +00:00
rt0_android_arm.s
rt0_darwin_386.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_darwin_amd64.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_darwin_arm64.s runtime, runtime/cgo: save callee-saved FP registers on arm64 2016-03-25 23:04:44 +00:00
rt0_darwin_arm.s runtime: preserve darwin/arm{,64} callee-save registers 2016-03-15 08:43:34 +00:00
rt0_dragonfly_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s
rt0_linux_386.s runtime, syscall: switch linux/386 to use int 0x80 2016-02-24 02:07:17 +00:00
rt0_linux_amd64.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_linux_arm64.s runtime, runtime/cgo: save callee-saved FP registers on arm64 2016-03-25 23:04:44 +00:00
rt0_linux_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
rt0_linux_mips64x.s cmd/link, runtime: add external linking support for linux/mips64x 2016-05-01 02:38:37 +00:00
rt0_linux_ppc64.s runtime, runtime/cgo: conform to PIC register use rules in ppc64 asm 2015-10-18 23:36:39 +00:00
rt0_linux_ppc64le.s runtime: replace tls0 with m0.tls 2015-11-13 01:53:00 +00:00
rt0_linux_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
rt0_nacl_386.s
rt0_nacl_amd64p32.s
rt0_nacl_arm.s
rt0_netbsd_386.s
rt0_netbsd_amd64.s
rt0_netbsd_arm.s
rt0_openbsd_386.s
rt0_openbsd_amd64.s
rt0_openbsd_arm.s
rt0_plan9_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_arm.s runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
rt0_solaris_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_windows_386.s cmd/go: fix -buildmode=c-archive should work on windows 2016-04-04 03:38:25 +00:00
rt0_windows_amd64.s cmd/go: fix -buildmode=c-archive should work on windows 2016-04-04 03:38:25 +00:00
rune.go
runtime1.go cmd/compile, etc: use name offset in method tables 2016-04-18 09:12:41 +00:00
runtime2.go runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
runtime_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime_mmap_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
runtime_unix_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime-gdb_test.go cmd/link: fix gdb backtrace on architectures using a link register 2016-04-26 18:35:47 +00:00
runtime-gdb.py
runtime-lldb_test.go cmd/link: fix padding for dwarf aranges on 32 bit platforms. 2016-02-12 19:13:11 +00:00
runtime.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
select.go runtime: simplify mallocgc flag argument 2016-04-20 14:02:22 +00:00
sema.go sync: new Cond implementation 2016-03-15 22:01:20 +00:00
signal1_unix.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal2_unix.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_386.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_amd64x.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_arm64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_arm.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_darwin_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_dragonfly_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_dragonfly.go runtime: don't always unblock all signals on dragonfly, freebsd and openbsd 2016-04-15 21:20:45 +00:00
signal_freebsd_386.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_freebsd_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_freebsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_freebsd.go runtime: drop _SigUnblock for SIGSYS on Linux 2016-04-28 21:48:44 +00:00
signal_linux_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_mips64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_s390x.go runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
signal_mips64x.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_nacl_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_nacl_amd64p32.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_nacl_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_nacl.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_netbsd_386.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_netbsd_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_netbsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_netbsd.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_openbsd_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd.go runtime: don't always unblock all signals on dragonfly, freebsd and openbsd 2016-04-15 21:20:45 +00:00
signal_plan9.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
signal_ppc64x.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_sigtramp.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_solaris_amd64.go runtime: fix signal handling on Solaris 2016-03-25 21:38:47 +00:00
signal_solaris.go all: fix spelling mistakes 2016-04-03 17:03:15 +00:00
signal_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_windows.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
sigpanic_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sigqueue_plan9.go all: single space after period. 2016-03-02 00:13:47 +00:00
sigqueue.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
sigtab_linux_generic.go runtime: drop _SigUnblock for SIGSYS on Linux 2016-04-28 21:48:44 +00:00
sigtab_linux_mips64x.go runtime: drop _SigUnblock for SIGSYS on Linux 2016-04-28 21:48:44 +00:00
slice.go runtime: simplify mallocgc flag argument 2016-04-20 14:02:22 +00:00
softfloat64_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
softfloat64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
softfloat_arm.go runtime: arm5, fix large-offset floating-point stores 2016-04-25 22:33:33 +00:00
sqrt_test.go runtime: copy sqrt normalization bugfix from math 2015-10-23 23:43:47 +00:00
sqrt.go all: single space after period. 2016-03-02 00:13:47 +00:00
stack_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
stack.go [dev.garbage] runtime: use s.base() everywhere it makes sense 2016-04-29 03:53:14 +00:00
string_test.go runtime: zero tmpbuf between len and cap 2016-04-25 21:16:52 +00:00
string.go runtime: zero tmpbuf between len and cap 2016-04-25 21:16:52 +00:00
stubs2.go
stubs32.go
stubs_android.go runtime: add syscalls needed for android/amd64 logging. 2015-10-20 16:56:58 +00:00
stubs.go runtime: unify memeq and memequal 2016-02-23 00:15:38 +00:00
symtab_test.go
symtab.go cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
sys_arm64.go
sys_arm.go
sys_darwin_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_darwin_amd64.s runtime: for c-archive/c-shared, don't install unnecessary signal handlers 2015-12-18 22:27:38 +00:00
sys_darwin_arm64.s all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
sys_darwin_arm.s all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
sys_dragonfly_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_freebsd_386.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_freebsd_amd64.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_freebsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_linux_386.s runtime: support symbolic backtrace of C code in a cgo crash 2016-04-01 04:13:44 +00:00
sys_linux_amd64.s runtime: support symbolic backtrace of C code in a cgo crash 2016-04-01 04:13:44 +00:00
sys_linux_arm64.s runtime: support symbolic backtrace of C code in a cgo crash 2016-04-01 04:13:44 +00:00
sys_linux_arm.s runtime: support symbolic backtrace of C code in a cgo crash 2016-04-01 04:13:44 +00:00
sys_linux_mips64x.s runtime: add linux/mips64x cgo support 2016-05-04 16:41:10 +00:00
sys_linux_ppc64x.s runtime: support symbolic backtrace of C code in a cgo crash 2016-04-01 04:13:44 +00:00
sys_linux_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
sys_mips64x.go runtime: added go files for mips64 architecture support 2015-11-12 04:46:50 +00:00
sys_nacl_386.s runtime: fix errno sign for some mmap and mincore cases 2016-02-12 00:07:29 +00:00
sys_nacl_amd64p32.s
sys_nacl_arm.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
sys_netbsd_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_netbsd_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_netbsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_nonppc64x.go cmd/compile, cmd/link, runtime: on ppc64x, maintain the TOC pointer in R2 when compiling PIC 2015-11-12 23:18:58 +00:00
sys_openbsd_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_openbsd_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_openbsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_plan9_386.s runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
sys_plan9_amd64.s runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
sys_plan9_arm.s runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
sys_ppc64x.go cmd/compile, cmd/link, runtime: on ppc64x, maintain the TOC pointer in R2 when compiling PIC 2015-11-12 23:18:58 +00:00
sys_s390x.go runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
sys_solaris_amd64.s runtime: fix signal handling on Solaris 2016-03-25 21:38:47 +00:00
sys_windows_386.s runtime: change osyield to use Windows SwitchToThread 2016-04-04 10:05:05 +00:00
sys_windows_amd64.s runtime: change osyield to use Windows SwitchToThread 2016-04-04 10:05:05 +00:00
sys_x86.go all: single space after period. 2016-03-02 00:13:47 +00:00
syscall2_solaris.go
syscall_nacl.h
syscall_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
syscall_windows_test.go runtime: revert "do not call timeBeginPeriod on windows" 2016-04-09 16:11:41 +00:00
syscall_windows.go runtime, syscall: only search for Windows DLLs in the System32 directory 2016-04-01 22:55:36 +00:00
textflag.h cmd/compile: track reflect.Type.Method in deadcode 2016-03-11 21:19:20 +00:00
time.go all: single space after period. 2016-03-02 00:13:47 +00:00
tls_arm64.h runtime: set TLSG_IS_VARIABLE for android/arm64. 2015-12-02 22:00:04 +00:00
tls_arm64.s cmd/internal/obj, cmd/link, runtime: native-ish support for tls on arm64 2015-10-28 19:51:05 +00:00
tls_arm.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tls_mips64x.s runtime: add linux/mips64x cgo support 2016-05-04 16:41:10 +00:00
tls_ppc64x.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tls_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
trace.go runtime: use per-goroutine sequence numbers in tracer 2016-04-23 15:57:05 +00:00
traceback.go cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
type.go reflect: unnamed interface types have no name 2016-04-27 18:06:20 +00:00
typekind.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
unaligned1.go runtime: add s390x support (modified files only) 2016-04-06 04:25:06 +00:00
unaligned2.go runtime: use unaligned loads on ppc64 2016-03-18 19:21:53 +00:00
vdso_linux_amd64.go runtime: common handling of _AT_RANDOM auxv 2016-04-16 21:42:31 +00:00
vdso_none.go runtime: common auxv parser 2016-04-16 21:42:27 +00:00
vlop_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
vlop_arm_test.go runtime: arm5, fix large-offset floating-point stores 2016-04-25 22:33:33 +00:00
vlop_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
vlrt.go cmd/compile: enable const division for arm64 2016-04-27 17:47:49 +00:00
wincallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
write_err_android.go runtime: change odd 'print1_write' file names 2015-10-20 23:03:06 +00:00
write_err.go runtime: change odd 'print1_write' file names 2015-10-20 23:03:06 +00:00
zcallback_windows.go
zcallback_windows.s