1
0
mirror of https://github.com/golang/go synced 2024-10-02 22:31:22 -06: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 all: remove dragonfly/386 port 2015-03-14 10:47:19 +00:00
defs_freebsd_386.go
defs_freebsd_amd64.go
defs_freebsd_arm.go
defs_freebsd.go
defs_linux_386.go src/runtime: Add missing defs for android/386. 2015-08-27 15:14:41 +00:00
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 runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
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 runtime: use (*context) ip, setip, sp and setsp everywhere on windows 2015-04-09 00:57:28 +00:00
defs_windows_amd64.go runtime: use (*context) ip, setip, sp and setsp everywhere on windows 2015-04-09 00:57:28 +00:00
defs_windows.go
duff_386.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
duff_amd64.s runtime: optimize duffcopy on amd64 2015-09-22 15:02:37 +00:00
duff_arm64.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
duff_arm.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
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 runtime: fix TestFixedGOROOT to properly restore the GOROOT env var after test 2015-06-03 23:33:48 +00:00
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 pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
fastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
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 runtime: make aeshash more DOS-proof 2015-10-08 16:43:03 +00:00
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 cmd/gc: allocate backing storage for non-escaping interfaces on stack 2015-03-30 16:11:22 +00:00
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 all: fix misprints in comments 2015-06-11 14:18:57 +00:00
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 runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
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 runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
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 runtime: enable TestEmptySlice 2015-07-30 04:47:16 +00:00
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 pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
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 runtime: on unexpected netpoll error, throw instead of looping 2015-09-15 17:56:56 +00:00
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 runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
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 runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
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 runtime: darwin/arm64 support 2015-04-16 13:01:19 +00:00
os_darwin_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
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 runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
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 runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
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 runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_netbsd.go os: consolidate os{1,2}_*.go files 2016-04-06 05:04:47 +00:00
os_openbsd_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
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 runtime: shared library init support for android/arm. 2015-04-13 21:53:15 +00:00
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 runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
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 runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
rt0_openbsd_386.s
rt0_openbsd_amd64.s
rt0_openbsd_arm.s runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
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 runtime,reflect,cmd/internal/gc: Fix comments referring to .c/.h files 2015-03-11 20:19:43 +00:00
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: Fix GDB integration with Python 2 2015-04-10 22:17:59 +00:00
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 runtime, runtime/cgo: support using msan on cgo code 2015-09-30 22:17:55 +00:00
stubs32.go cmd/compile: define func value symbols at declaration 2015-07-20 00:50:46 +00:00
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 cmd/compile: initialize line number properly for temporaries 2015-07-07 21:30:59 +00:00
symtab.go cmd/cgo, runtime, runtime/cgo: use cgo context function 2016-04-29 22:07:36 +00:00
sys_arm64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
sys_arm.go runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
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 runtime: rename close to closefd 2015-04-14 12:31:29 +00:00
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 runtime, syscall: remove unused bits from Solaris implementation 2015-08-21 11:39:24 +00:00
syscall_nacl.h runtime, syscall: use the new get_random_bytes syscall for NaCl 2015-03-25 02:07:09 +00:00
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