1
0
mirror of https://github.com/golang/go synced 2024-10-02 10:28:34 -06:00
go/src/runtime
Austin Clements f1ba75f8c5 runtime: don't rescan finalizers queue during mark termination
Currently we scan the finalizers queue both during concurrent mark and
during mark termination. This costs roughly 20ns per queued finalizer
and about 1ns per unused finalizer queue slot (allocated queue length
never decreases), which can drive up STW time if there are many
finalizers.

However, we only add finalizers to this queue during sweeping, which
means that the second scan will never find anything new. Hence, we can
fix this by simply not scanning the finalizers queue during mark
termination. This brings the STW time under the 100µs goal even with
1,000,000 queued finalizers.

Fixes #18869.

Change-Id: I4ce5620c66fb7f13ebeb39ca313ce57047d1d0fb
Reviewed-on: https://go-review.googlesource.com/36013
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
2017-03-03 17:02:14 +00:00
..
cgo runtime: add cgo support for GOARCH=mips{,le} 2016-12-14 23:52:33 +00:00
debug runtime/debug: don't run a GC when setting SetGCPercent negative 2017-02-10 18:28:37 +00:00
internal runtime/internal/atomic: crash on unaligned 64-bit ops on 32-bit MIPS 2016-11-22 02:05:07 +00:00
msan runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
pprof runtime/pprof: fix data race between Profile.Add and Profile.WriteTo 2017-03-02 23:30:07 +00:00
race runtime/race: allow TestFail to run longer than 0.00s 2016-11-07 02:55:52 +00:00
testdata runtime: add explicit (void) in C to avoid GCC 7 problem 2017-01-30 19:27:49 +00:00
trace os: use poller for file I/O 2017-02-15 19:31:55 +00:00
alg.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
append_test.go runtime: make append only clear uncopied memory 2016-10-04 22:40:20 +00:00
asm_386.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_amd64.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_amd64p32.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_arm64.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_arm.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_mips64x.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_mipsx.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_ppc64x.h all: single space after period. 2016-03-02 00:13:47 +00:00
asm_ppc64x.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm_s390x.s runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
asm.s runtime: cull dead code 2016-08-22 16:41:34 +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_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
atomic_pointer.go runtime: perform write barrier before pointer write 2016-10-28 20:47:52 +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_mmap.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
cgo_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_sigaction.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
cgo.go cmd/cgo, runtime, runtime/cgo: TSAN support for malloc 2016-05-25 23:22:24 +00:00
cgocall.go runtime: handle SIGPIPE in c-archive and c-shared programs 2017-02-03 20:07:36 +00:00
cgocallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgocheck.go runtime: access modules via a slice 2016-11-01 16:04:12 +00:00
chan_test.go all: don't call t.Fatal from a goroutine 2016-11-15 15:13:48 +00:00
chan.go runtime: perform write barriers on direct channel receive 2016-10-31 23:46:13 +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
cpuflags_amd64.go runtime: improve memmove for amd64 2016-10-06 10:21:58 +00:00
cpuidlow_amd64.s runtime: improve memmove for amd64 2016-10-06 10:21:58 +00:00
cpuprof.go runtime/pprof: use new profile buffers for CPU profiling 2017-02-24 17:01:47 +00:00
cputicks.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
crash_cgo_test.go runtime: check that pprof accepts but doesn't need executable 2017-02-24 20:46:37 +00:00
crash_nonunix_test.go runtime: if the test program hangs, try to get a stack trace 2016-06-15 15:03:48 +00:00
crash_test.go runtime, cmd/go: roll back stale message, test detail 2017-03-01 18:50:27 +00:00
crash_unix_test.go all: sprinkle t.Parallel on some slow tests 2016-11-04 16:56:57 +00:00
debug.go all: single space after period. 2016-03-02 00:13:47 +00:00
defs1_linux.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs1_netbsd_386.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs1_netbsd_amd64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs1_netbsd_arm.go runtime, cmd/link: fix netbsd/arm EABI support 2016-10-24 15:23:13 +00:00
defs1_solaris_amd64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs2_linux.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs3_linux.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_arm_linux.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
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 runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_dragonfly.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_freebsd_386.go runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd 2016-10-01 01:25:21 +00:00
defs_freebsd_amd64.go runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd 2016-10-01 01:25:21 +00:00
defs_freebsd_arm.go runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd 2016-10-01 01:25:21 +00:00
defs_freebsd.go runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd 2016-10-01 01:25:21 +00:00
defs_linux_386.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_amd64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_arm64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_arm.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_mips64x.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
defs_linux_ppc64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_ppc64le.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_s390x.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +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 runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_openbsd_386.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_openbsd_amd64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_openbsd_arm.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_openbsd.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_plan9_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
defs_plan9_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
defs_plan9_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
defs_solaris_amd64.go
defs_solaris.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_windows_386.go
defs_windows_amd64.go
defs_windows.go
duff_386.s
duff_amd64.s runtime: optimize duffcopy on amd64 2015-09-22 15:02:37 +00:00
duff_arm64.s runtime, cmd/compile: implement and use DUFFCOPY on ARM64 2016-09-27 15:07:31 +00:00
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: make panicwrap argument-free 2017-02-11 23:27:35 +00:00
example_test.go runtime: add Frames example 2017-02-13 06:10:35 +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 runtime: fetch physical page size from the OS 2016-09-06 21:05:50 +00:00
export_test.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +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 stack barriers 2017-02-14 15:52:54 +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 all: fix misspellings 2017-01-07 16:53:25 +00:00
fastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
funcdata.h cmd/internal/obj, runtime: update funcdata comments 2017-02-27 22:29:28 +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 cmd/compile: do more type conversion inline 2016-11-02 21:33:03 +00:00
gcinfo_test.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
go_tls.h all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
HACKING.md runtime: expand HACKING.md 2017-01-06 18:30:36 +00:00
hash32.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
hash64.go runtime: add s390x support (modified files only) 2016-04-06 04:25:06 +00:00
hash_test.go runtime: remove TestCollisions from -short 2016-09-24 03:10:13 +00:00
hashmap_fast.go runtime: limit the number of map overflow buckets 2016-09-13 17:53:32 +00:00
hashmap.go runtime: delay marking maps as writing until after first alg call 2017-03-02 17:38:30 +00:00
heapdump.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
iface_test.go cmd/compile, runtime: specialize convT2x, don't alloc for zero vals 2017-02-28 19:23:33 +00:00
iface.go cmd/compile, runtime: specialize convT2x, don't alloc for zero vals 2017-02-28 19:23:33 +00:00
lfstack_32bit.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +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: fix stale comment in lfstack 2016-06-16 19:45:33 +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: add number of forced GCs to MemStats 2016-12-07 20:59:16 +00:00
malloc.go runtime: make fastrand to generate 32bit values 2017-02-13 20:22:02 +00:00
map_test.go all: sprinkle t.Parallel on some slow tests 2016-11-04 16:56:57 +00:00
mapspeed_test.go
mbarrier.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +00:00
mbitmap.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
mcache.go runtime: make fixalloc zero allocations on reuse 2016-10-28 18:20:23 +00:00
mcentral.go runtime: mark several types go:notinheap 2016-10-15 17:58:20 +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: don't hard-code physical page size 2016-09-06 21:05:53 +00:00
mem_plan9.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20: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, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_amd64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_arm64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_arm.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_mips64x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
memclr_plan9_386.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_plan9_amd64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_ppc64x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_s390x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memmove_386.s all: fix obsolete inferno-os links 2016-08-29 04:54:42 +00:00
memmove_amd64.s runtime: amd64, use 4-byte ops for memmove of 4 bytes 2017-01-23 19:39:22 +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: fix obsolete inferno-os links 2016-08-29 04:54:42 +00:00
memmove_linux_amd64_test.go all: sprinkle t.Parallel on some slow tests 2016-11-04 16:56:57 +00:00
memmove_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
memmove_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
memmove_nacl_amd64p32.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_plan9_386.s all: fix obsolete inferno-os links 2016-08-29 04:54:42 +00:00
memmove_plan9_amd64.s all: fix obsolete inferno-os links 2016-08-29 04:54:42 +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: amd64, use 4-byte ops for memmove of 4 bytes 2017-01-23 19:39:22 +00:00
mfinal_test.go
mfinal.go runtime: don't rescan finalizers queue during mark termination 2017-03-03 17:02:14 +00:00
mfixalloc.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
mgc.go sync: make Mutex more fair 2017-02-17 17:24:59 +00:00
mgcmark.go runtime: don't rescan finalizers queue during mark termination 2017-03-03 17:02:14 +00:00
mgcsweep.go runtime: debug prints for spanBytesAlloc underflow 2017-01-10 15:59:39 +00:00
mgcsweepbuf.go runtime: make markrootSpans time proportional to in-use spans 2016-10-25 22:32:59 +00:00
mgcwork.go runtime: remove wbufptr 2017-03-03 17:02:12 +00:00
mheap.go runtime: compute size classes statically 2016-10-30 03:48:49 +00:00
mkduff.go runtime: update mkduff legacy comments 2016-10-12 14:51:50 +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
mksizeclasses.go runtime: add table of size classes in a comment 2017-01-08 00:01:30 +00:00
mmap.go runtime: find a home for orphaned comments 2016-04-14 18:34:09 +00:00
mprof.go runtime: ensure elapsed cycles are not negative 2016-10-28 22:14:10 +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 runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
msan.go runtime: check for nil g and m in msanread 2017-01-19 23:06:54 +00:00
msize.go runtime: compute size classes statically 2016-10-30 03:48:49 +00:00
mstats.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
net_plan9.go net: refactor poller into new internal/poll package 2017-02-13 18:36:28 +00:00
netpoll_epoll.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_kqueue.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_nacl.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_solaris.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_stub.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_windows.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
noasm.go all: fix assembly vet issues 2016-08-25 18:52:31 +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
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: enable/disable SIGPROF if needed when profiling 2017-02-09 18:53:34 +00:00
os3_solaris.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
os_android.go runtime: android/arm64 support 2015-11-17 16:28:18 +00:00
os_darwin_arm64.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_darwin_arm.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_darwin.go runtime: os.Executable runtime support for Darwin 2016-11-07 20:18:36 +00:00
os_dragonfly.go runtime: minor simplifications to signal code 2016-09-28 13:12:47 +00:00
os_freebsd_arm.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_freebsd.go runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd 2016-10-01 01:25:21 +00:00
os_linux_arm64.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_linux_arm.go runtime: skip floating point hardware check on Android 2016-12-22 19:31:15 +00:00
os_linux_be64.go runtime: fix sigset type for ppc64 big-endian GNU/Linux 2016-10-06 22:24:40 +00:00
os_linux_generic.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_mips64x.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_noauxv.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_ppc64x.go runtime: get ppc64x ISA level and hardware capabilities from HWCAP/HWCAP2 2016-11-01 13:41:04 +00:00
os_linux_s390x.go runtime: get s390x vector facility availability from AT_HWCAP 2016-10-19 21:50:13 +00:00
os_linux.go runtime: check sched_getaffinity return value 2017-01-03 22:35:42 +00:00
os_nacl_arm.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_nacl.go runtime: enable/disable SIGPROF if needed when profiling 2017-02-09 18:53:34 +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: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_netbsd.go runtime: minor simplifications to signal code 2016-09-28 13:12:47 +00:00
os_openbsd_arm.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_openbsd.go runtime: minor simplifications to signal code 2016-09-28 13:12:47 +00:00
os_plan9_arm.go runtime: rename fastrand1 to fastrand 2016-08-30 23:59:21 +00:00
os_plan9.go net: implement asynchonous cancelable I/O on Plan 9 2016-11-12 05:44:36 +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: enable/disable SIGPROF if needed when profiling 2017-02-09 18:53:34 +00:00
panic.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
plugin.go cmd/compile: optimize non-empty-interface type conversions 2017-02-13 18:16:31 +00:00
print.go runtime: include pre-panic/throw logs in core dumps 2016-11-11 21:29:53 +00:00
proc_runtime_test.go runtime: improve randomized stealing logic 2016-03-25 11:00:48 +00:00
proc_test.go runtime: fix goroutine priority elevation 2016-05-19 18:18:13 +00:00
proc.go runtime/pprof: use new profile buffers for CPU profiling 2017-02-24 17:01:47 +00:00
profbuf_test.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +00:00
profbuf.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +00:00
proflabel.go runtime: add definitions for SetGoroutineLabels and Do 2017-02-06 20:29:37 +00:00
race0.go runtime: per-P contexts for race detector 2016-05-03 11:00:43 +00:00
race_amd64.s runtime: fix race atomic operations on external memory 2016-06-29 15:30:54 +00:00
race.go runtime: remove unused RaceSemacquire declaration 2017-02-27 20:15:51 +00:00
rand_test.go runtime: speed up fastrand() % n 2017-02-14 00:01:22 +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: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +00:00
rt0_android_arm64.s runtime: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +00:00
rt0_android_arm.s runtime: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +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: align C library startup calls on amd64 2016-05-25 23:16:46 +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,runtime/cgo: save callee-saved FP register on arm 2016-05-25 06:54:28 +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: make stack 16-byte aligned for external code in _rt0_amd64_linux_lib 2016-08-05 23:56:07 +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 runtime,runtime/cgo: save callee-saved FP register on arm 2016-05-25 06:54:28 +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_mipsx.s runtime: add cgo support for GOARCH=mips{,le} 2016-12-14 23:52:33 +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: add library startup support for ppc64le 2016-05-26 03:31:59 +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
runtime1.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
runtime2.go runtime: do not allocate on every time.Sleep 2017-02-24 15:34:01 +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 runtime: fetch physical page size from the OS 2016-09-06 21:05:50 +00:00
runtime_test.go runtime: check that Version does not contain \r \n 2016-12-05 16:49:53 +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 runtime: skip flaky TestGdbPythonCgo on MIPS 2017-02-02 21:45:42 +00:00
runtime-gdb.py runtime: set $sp before $pc in gdb python script 2016-06-09 20:02:59 +00:00
runtime-lldb_test.go cmd/link: put text at address 0x1000000 on darwin/amd64 2016-10-28 20:17:53 +00:00
runtime.go syscall: make Getpagesize return page size from runtime 2016-09-06 21:05:55 +00:00
select.go runtime: speed up fastrand() % n 2017-02-14 00:01:22 +00:00
sema.go sync: make Mutex more fair 2017-02-17 17:24:59 +00:00
sigaction_linux.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
signal_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_amd64x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_arm64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_arm64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin.go runtime: unify sigtrampgo 2016-09-26 17:22:42 +00:00
signal_dragonfly_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +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: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_freebsd_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_freebsd_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_freebsd.go runtime: unify sigtrampgo 2016-09-26 17:22:42 +00:00
signal_linux_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_arm64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_mips64x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
signal_linux_ppc64x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_s390x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_mips64x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
signal_nacl_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_nacl_amd64p32.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_nacl_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_nacl.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_netbsd_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_netbsd_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_netbsd_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_netbsd.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_openbsd_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_openbsd_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_openbsd_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_openbsd.go runtime: unify sigtrampgo 2016-09-26 17:22:42 +00:00
signal_plan9.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
signal_ppc64x.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_sighandler.go runtime: print sigcode on signal crash 2016-10-27 17:46:01 +00:00
signal_solaris_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_solaris.go runtime: treat SIGSTOP on Solaris as we do on other systems 2016-11-01 20:02:40 +00:00
signal_unix.go runtime: remove g.stackAlloc 2017-02-14 15:52:56 +00:00
signal_windows.go runtime: minor simplifications to signal code 2016-09-28 13:12:47 +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: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sigtab_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sizeclasses.go runtime: add table of size classes in a comment 2017-01-08 00:01:30 +00:00
slice.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +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 [dev.ssa] cmd/internal/obj, etc.: add and use NEGF, NEGD instructions on ARM 2016-07-20 18:15:37 +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 runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
stack.go runtime: remove g.stackAlloc 2017-02-14 15:52:56 +00:00
string_test.go runtime: improve atoi implementation 2016-11-01 14:04:39 +00:00
string.go runtime: improve atoi implementation 2016-11-01 14:04:39 +00:00
stubs2.go runtime, runtime/cgo: support using msan on cgo code 2015-09-30 22:17:55 +00:00
stubs32.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
stubs_android.go runtime: add syscalls needed for android/amd64 logging. 2015-10-20 16:56:58 +00:00
stubs_asm.go all: fix assembly vet issues 2016-08-25 18:52:31 +00:00
stubs.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
symtab_test.go
symtab.go cmd/internal/obj, runtime: update funcdata comments 2017-02-27 22:29:28 +00:00
sys_arm64.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_arm.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_darwin_386.s time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
sys_darwin_amd64.s time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
sys_darwin_arm64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_darwin_arm.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_dragonfly_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_freebsd_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_freebsd_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_freebsd_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_linux_386.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_linux_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_linux_arm64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_linux_arm.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_linux_mips64x.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_linux_mipsx.s runtime: use standard linux/mipsx clone variable names 2017-02-21 18:42:38 +00:00
sys_linux_ppc64x.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_linux_s390x.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_mips64x.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sys_nacl_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_nacl_amd64p32.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_nacl_arm.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_netbsd_386.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_netbsd_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_netbsd_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +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 runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_openbsd_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_openbsd_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_plan9_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_plan9_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_plan9_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_ppc64x.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_s390x.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_solaris_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_windows_386.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_windows_amd64.s time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
sys_x86.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
syscall2_solaris.go runtime, syscall: remove unused bits from Solaris implementation 2015-08-21 11:39:24 +00:00
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: pass windows float syscall args via XMM 2016-10-28 13:13:08 +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 runtime: do not allocate on every time.Sleep 2017-02-24 15:34:01 +00:00
timeasm.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
timestub.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +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_mipsx.s runtime: add cgo support for GOARCH=mips{,le} 2016-12-14 23:52:33 +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 sync: make Mutex more fair 2017-02-17 17:24:59 +00:00
traceback.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
type.go [dev.typealias] cmd/compile, reflect: fix struct field names for embedded byte, rune 2017-01-25 18:57: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: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
utf8.go runtime: speed up non-ASCII rune decoding 2016-10-17 11:25:22 +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: os.Executable runtime support for Darwin 2016-11-07 20:18:36 +00:00
vlop_386.s all: fix obsolete inferno-os links 2016-08-29 04:54:42 +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 cmd/link: insert trampolines for too-far jumps on ARM 2016-10-11 13:35:33 +00:00
vlrt.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +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: update android time_now call 2017-02-08 02:56:25 +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