1
0
mirror of https://github.com/golang/go synced 2024-11-20 00:04:43 -07:00
go/src/runtime
Austin Clements dcd9e5bc0f runtime: make putfull start mark workers
Currently we depend on the good graces and timing of the scheduler to
get opportunities to start dedicated mark workers. In the worst case,
it may take 10ms to get dedicated mark workers going at the beginning
of mark 1 and mark 2 or after the amount of available work has dropped
and gone back up.

Instead of waiting for the regular preemption logic to get around to
us, make putfull enlist a random P if we're not already running enough
dedicated workers. This should improve performance stability of the
garbage collector and is likely to improve the overall performance
somewhat.

No overall effect on the go1 benchmarks. It speeds up the garbage
benchmark by 12%, which more than counters the performance loss from
the previous commit.

name              old time/op  new time/op  delta
XBenchGarbage-12  6.32ms ± 4%  5.58ms ± 2%  -11.68%  (p=0.000 n=20+16)

name                      old time/op    new time/op    delta
BinaryTree17-12              3.18s ± 5%     3.12s ± 4%  -1.83%  (p=0.021 n=20+20)
Fannkuch11-12                2.50s ± 2%     2.46s ± 2%  -1.57%  (p=0.000 n=18+19)
FmtFprintfEmpty-12          50.8ns ± 3%    50.4ns ± 3%    ~     (p=0.184 n=20+20)
FmtFprintfString-12          167ns ± 2%     171ns ± 1%  +2.46%  (p=0.000 n=20+19)
FmtFprintfInt-12             161ns ± 2%     163ns ± 2%  +1.81%  (p=0.000 n=20+20)
FmtFprintfIntInt-12          269ns ± 1%     266ns ± 1%  -0.81%  (p=0.002 n=19+20)
FmtFprintfPrefixedInt-12     237ns ± 2%     231ns ± 2%  -2.86%  (p=0.000 n=20+20)
FmtFprintfFloat-12           313ns ± 2%     313ns ± 1%    ~     (p=0.681 n=20+20)
FmtManyArgs-12              1.05µs ± 2%    1.03µs ± 1%  -2.26%  (p=0.000 n=20+20)
GobDecode-12                8.66ms ± 1%    8.67ms ± 1%    ~     (p=0.380 n=19+20)
GobEncode-12                6.56ms ± 1%    6.56ms ± 2%    ~     (p=0.607 n=19+20)
Gzip-12                      317ms ± 1%     314ms ± 2%  -1.10%  (p=0.000 n=20+19)
Gunzip-12                   42.1ms ± 1%    42.2ms ± 1%  +0.27%  (p=0.044 n=20+19)
HTTPClientServer-12         62.7µs ± 1%    62.0µs ± 1%  -1.04%  (p=0.000 n=19+18)
JSONEncode-12               16.7ms ± 1%    16.8ms ± 2%  +0.59%  (p=0.021 n=20+20)
JSONDecode-12               58.2ms ± 1%    61.4ms ± 2%  +5.43%  (p=0.000 n=18+19)
Mandelbrot200-12            3.84ms ± 1%    3.87ms ± 2%  +0.79%  (p=0.008 n=18+20)
GoParse-12                  3.86ms ± 2%    3.76ms ± 2%  -2.60%  (p=0.000 n=20+20)
RegexpMatchEasy0_32-12       100ns ± 2%     100ns ± 1%  -0.68%  (p=0.005 n=18+15)
RegexpMatchEasy0_1K-12       332ns ± 1%     342ns ± 1%  +3.16%  (p=0.000 n=19+19)
RegexpMatchEasy1_32-12      82.9ns ± 3%    83.0ns ± 2%    ~     (p=0.906 n=19+20)
RegexpMatchEasy1_1K-12       487ns ± 1%     494ns ± 1%  +1.50%  (p=0.000 n=17+20)
RegexpMatchMedium_32-12      131ns ± 2%     130ns ± 1%    ~     (p=0.686 n=19+20)
RegexpMatchMedium_1K-12     39.6µs ± 1%    39.2µs ± 1%  -1.09%  (p=0.000 n=18+19)
RegexpMatchHard_32-12       2.04µs ± 1%    2.04µs ± 2%    ~     (p=0.804 n=20+20)
RegexpMatchHard_1K-12       61.7µs ± 2%    61.3µs ± 2%    ~     (p=0.052 n=18+20)
Revcomp-12                   529ms ± 2%     533ms ± 1%  +0.83%  (p=0.003 n=20+19)
Template-12                 70.7ms ± 2%    71.0ms ± 2%    ~     (p=0.065 n=20+19)
TimeParse-12                 351ns ± 2%     355ns ± 1%  +1.25%  (p=0.000 n=19+20)
TimeFormat-12                362ns ± 2%     373ns ± 1%  +2.83%  (p=0.000 n=18+20)
[Geo mean]                  62.2µs         62.3µs       +0.13%

name                      old speed      new speed      delta
GobDecode-12              88.6MB/s ± 1%  88.5MB/s ± 1%    ~     (p=0.392 n=19+20)
GobEncode-12               117MB/s ± 1%   117MB/s ± 1%    ~     (p=0.622 n=19+20)
Gzip-12                   61.1MB/s ± 1%  61.8MB/s ± 2%  +1.11%  (p=0.000 n=20+19)
Gunzip-12                  461MB/s ± 1%   460MB/s ± 1%  -0.27%  (p=0.044 n=20+19)
JSONEncode-12              116MB/s ± 1%   115MB/s ± 2%  -0.58%  (p=0.022 n=20+20)
JSONDecode-12             33.3MB/s ± 1%  31.6MB/s ± 2%  -5.15%  (p=0.000 n=18+19)
GoParse-12                15.0MB/s ± 2%  15.4MB/s ± 2%  +2.66%  (p=0.000 n=20+20)
RegexpMatchEasy0_32-12     317MB/s ± 2%   319MB/s ± 2%    ~     (p=0.052 n=20+20)
RegexpMatchEasy0_1K-12    3.08GB/s ± 1%  2.99GB/s ± 1%  -3.07%  (p=0.000 n=19+19)
RegexpMatchEasy1_32-12     386MB/s ± 3%   386MB/s ± 2%    ~     (p=0.939 n=19+20)
RegexpMatchEasy1_1K-12    2.10GB/s ± 1%  2.07GB/s ± 1%  -1.46%  (p=0.000 n=17+20)
RegexpMatchMedium_32-12   7.62MB/s ± 2%  7.64MB/s ± 1%    ~     (p=0.702 n=19+20)
RegexpMatchMedium_1K-12   25.9MB/s ± 1%  26.1MB/s ± 2%  +0.99%  (p=0.000 n=18+20)
RegexpMatchHard_32-12     15.7MB/s ± 1%  15.7MB/s ± 2%    ~     (p=0.723 n=20+20)
RegexpMatchHard_1K-12     16.6MB/s ± 2%  16.7MB/s ± 2%    ~     (p=0.052 n=18+20)
Revcomp-12                 481MB/s ± 2%   477MB/s ± 1%  -0.83%  (p=0.003 n=20+19)
Template-12               27.5MB/s ± 2%  27.3MB/s ± 2%    ~     (p=0.062 n=20+19)
[Geo mean]                99.4MB/s       99.1MB/s       -0.35%

Change-Id: I914d8cadded5a230509d118164a4c201601afc06
Reviewed-on: https://go-review.googlesource.com/16298
Reviewed-by: Rick Hudson <rlh@golang.org>
2015-11-04 20:15:51 +00:00
..
cgo runtime, cmd: TLS setup for android/amd64. 2015-10-28 20:54:28 +00:00
debug runtime, runtime/debug: access unexported runtime functions with //go:linkname, not assembly stubs 2015-10-16 09:14:25 +00:00
msan runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
pprof test: use go:noinline consistently 2015-11-03 02:01:34 +00:00
race test: use go:noinline consistently 2015-11-03 02:01:34 +00:00
trace runtime/trace: reduce memory usage for trace stress tests on openbsd/arm 2015-10-01 18:00:55 +00:00
alg.go runtime: make iface/eface handling more type safe 2015-10-21 23:08:22 +00:00
append_test.go
arch_386.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_amd64.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_amd64p32.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_arm64.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_arm.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_ppc64.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
arch_ppc64le.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
asm_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
asm_amd64.s strings: add asm version of Index() for short strings on amd64 2015-11-03 16:04:28 +00:00
asm_amd64p32.s runtime: use 4 byte writes in amd64p32 memmove/memclr 2015-10-02 22:49:15 +00:00
asm_arm64.s cmd/internal/obj, cmd/link, runtime: native-ish support for tls on arm64 2015-10-28 19:51:05 +00:00
asm_arm.s runtime: use a 64kb system stack on arm 2015-10-26 15:10:34 +00:00
asm_ppc64x.h reflect, runtime, runtime/cgo: use ppc64 asm constant for fixed frame size 2015-10-18 23:15:26 +00:00
asm_ppc64x.s runtime: tweaks to allow -buildmode=shared to work 2015-10-19 21:23:36 +00:00
asm.s
atomic_386.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_amd64x.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_arm64.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_arm64.s runtime: ensure GC sees type-safe memory on weak machines 2015-06-19 15:29:50 +00:00
atomic_arm.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_pointer.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_ppc64x.go runtime: remove unused xchgp/xchgp1 2015-08-27 00:28:35 +00:00
atomic_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
atomic_test.go runtime: implement xadduintptr and update system mstats using it 2015-04-24 16:53:26 +00:00
cgo_mmap.go runtime, runtime/cgo: support using msan on cgo code 2015-09-30 22:17:55 +00:00
cgo_ppc64x.go runtime/cgo: export _cgo_reginit on ppc64x 2015-10-29 00:38:43 +00:00
cgo.go cmd/cgo: make sure pointers passed to C escape to heap 2015-06-15 17:39:53 +00:00
cgocall.go runtime: add a constant for the smallest possible stack frame 2015-10-18 22:14:00 +00:00
cgocallback.go runtime: delete cgo_allocate 2015-04-17 01:30:47 +00:00
chan_test.go runtime: fix data race in BenchmarkChanPopular 2015-06-02 11:16:01 +00:00
chan.go runtime, syscall: add calls to msan functions 2015-10-21 19:17:46 +00:00
chanbarrier_test.go runtime: fix race in TestChanSendBarrier 2015-07-13 19:42:20 +00:00
closure_test.go
compiler.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
complex_test.go
complex.go
cpuprof.go runtime: merge slice and sliceStruct 2015-04-15 16:59:49 +00:00
cputicks.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
crash_cgo_test.go runtime: reduce pthread stack size in TestCgoCallbackGC 2015-09-13 23:46:55 +00:00
crash_test.go runtime: remove flaky TestInvalidptrCrash to fix build 2015-09-19 01:43:00 +00:00
crash_unix_test.go runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
debug.go runtime: clarify that NumCPU returns only available CPUs 2015-07-10 21:28:49 +00:00
defs1_linux.go
defs1_netbsd_386.go
defs1_netbsd_amd64.go
defs1_netbsd_arm.go
defs1_solaris_amd64.go
defs2_linux.go
defs3_linux.go
defs_arm_linux.go
defs_darwin_386.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
defs_darwin_amd64.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
defs_darwin_arm64.go runtime: darwin/arm64 support 2015-04-16 13:01:19 +00:00
defs_darwin_arm.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
defs_darwin.go
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: add support for linux/arm64 2015-03-16 18:45:54 +00:00
defs_linux_arm.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_linux_ppc64.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_linux_ppc64le.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_linux.go
defs_nacl_386.go runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
defs_nacl_amd64p32.go runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
defs_nacl_arm.go runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
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: consolidate arch-specific signal handlers on Plan 9 2014-12-30 14:36:15 +00:00
defs_plan9_amd64.go runtime: consolidate arch-specific signal handlers on Plan 9 2014-12-30 14:36:15 +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 runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
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_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 runtime: add stringStructOf helper function 2015-10-20 23:13:27 +00:00
env_posix.go runtime: add stringStructOf helper function 2015-10-20 23:13: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 runtime: make iface/eface handling more type safe 2015-10-21 23:08:22 +00:00
export_arm_test.go runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
export_futex_test.go
export_linux_test.go runtime: merge clone0 and clone 2015-04-22 16:28:57 +00:00
export_test.go runtime: make iface/eface handling more type safe 2015-10-21 23:08:22 +00:00
export_windows_test.go runtime: account for cpu affinity in windows NumCPU 2015-10-23 07:54:42 +00:00
extern.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
fastlog2_test.go runtime: Reduce testing for fastlog2 implementation 2015-10-14 04:54: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: remove unused FUNCDATA_DeadValueMaps 2015-09-07 21:02:11 +00:00
futex_test.go
gc_test.go test: use go:noinline consistently 2015-11-03 02:01:34 +00:00
gcinfo_test.go runtime: test and fix heap bitmap for 1-pointer allocation on 32-bit system 2015-05-15 18:47:00 +00:00
gengoos.go
go_tls.h
hash32.go runtime: make aeshash more DOS-proof 2015-10-08 16:43:03 +00:00
hash64.go runtime: make aeshash more DOS-proof 2015-10-08 16:43:03 +00:00
hash_test.go runtime: fix aeshash of empty string 2015-09-15 17:51:23 +00:00
hashmap_fast.go runtime: add stringStructOf helper function 2015-10-20 23:13:27 +00:00
hashmap.go runtime, syscall: add calls to msan functions 2015-10-21 19:17:46 +00:00
heapdump.go runtime: add pcvalue cache to improve stack scan speed 2015-10-22 17:48:13 +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 runtime: make iface/eface handling more type safe 2015-10-21 23:08:22 +00:00
lfstack_32bit.go
lfstack_amd64.go
lfstack_darwin_arm64.go runtime: darwin/arm64 support 2015-04-16 13:01:19 +00:00
lfstack_linux_arm64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
lfstack_linux_ppc64x.go
lfstack_test.go all: fix misprints in comments 2015-06-11 14:18:57 +00:00
lfstack.go runtime: rename gothrow to throw 2014-12-28 06:16:16 +00:00
lock_futex.go runtime: make notetsleep_internal nowritebarrier 2015-07-27 19:58:58 +00:00
lock_sema.go runtime: use unsafe.Pointer(x) instead of (unsafe.Pointer)(x) 2015-10-15 21:48:37 +00:00
Makefile
malloc_test.go runtime: fix tiny allocator 2015-10-26 21:14:15 +00:00
malloc.go runtime: don't use FP when calling nextSample in the Plan 9 sighandler 2015-10-28 05:45:24 +00:00
map_test.go cmd/gc: fix noscan maps 2015-02-15 08:52:14 +00:00
mapspeed_test.go cmd/gc: don't call memequal twice in generated type.eq routines 2015-02-26 00:34:29 +00:00
mbarrier.go cmd/compile: add go:nowritebarrierrec annotation 2015-11-04 14:42:04 +00:00
mbitmap.go runtime: add pcvalue cache to improve stack scan speed 2015-10-22 17:48:13 +00:00
mcache.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
mcentral.go runtime: add mSpanList type to represent lists of mspans 2015-10-22 17:12:06 +00:00
mem_bsd.go runtime: implement xadduintptr and update system mstats using it 2015-04-24 16:53:26 +00:00
mem_darwin.go runtime: use unsafe.Pointer(x) instead of (unsafe.Pointer)(x) 2015-10-15 21:48:37 +00:00
mem_linux.go runtime: adjust huge page flags only on huge page granularity 2015-10-02 20:20:43 +00:00
mem_plan9.go runtime: implement xadduintptr and update system mstats using it 2015-04-24 16:53:26 +00:00
mem_windows.go runtime: print errno and byte count before crashing in mem_windows.go 2015-09-17 07:06:42 +00:00
memclr_386.s
memclr_amd64.s
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 [dev.cc] all: edit assembly source for ARM to be more regular 2015-02-13 23:08:51 +00:00
memclr_plan9_386.s
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
memmove_386.s
memmove_amd64.s
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 [dev.cc] all: edit assembly source for ARM to be more regular 2015-02-13 23:08:51 +00:00
memmove_linux_amd64_test.go
memmove_nacl_amd64p32.s runtime: use 4 byte writes in amd64p32 memmove/memclr 2015-10-02 22:49:15 +00:00
memmove_plan9_386.s
memmove_plan9_amd64.s
memmove_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
memmove_test.go runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
mfinal_test.go runtime: enable TestEmptySlice 2015-07-30 04:47:16 +00:00
mfinal.go runtime: eliminate some unnecessary uintptr conversions 2015-10-27 02:53:04 +00:00
mfixalloc.go runtime: change fixalloc's chunk field to unsafe.Pointer 2015-10-22 01:14:23 +00:00
mgc.go runtime: make putfull start mark workers 2015-11-04 20:15:51 +00:00
mgcmark.go runtime: eliminate getfull barrier from concurrent mark 2015-11-04 20:15:39 +00:00
mgcsweep.go runtime: remove dead code 2015-11-03 19:20:21 +00:00
mgcwork.go runtime: make putfull start mark workers 2015-11-04 20:15:51 +00:00
mheap.go runtime: remove dead code 2015-11-03 19:20:21 +00:00
mkduff.go cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
mkfastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
mknacl.sh
mmap.go runtime, runtime/cgo: support using msan on cgo code 2015-09-30 22:17:55 +00:00
mprof.go runtime: remove dead code 2015-11-03 19:20:21 +00:00
msan0.go runtime: fix typos 2015-10-22 00:40:48 +00:00
msan_amd64.s runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
msan.go runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
msize.go runtime: Speed up heapBitsForObject 2015-04-20 21:39:06 +00:00
mstats.go runtime: report GC CPU utilization in MemStats 2015-07-29 20:23:34 +00:00
mstkbar.go runtime: add high-level description of how stack barriers work 2015-09-09 01:18:56 +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 runtime: on unexpected netpoll error, throw instead of looping 2015-09-15 17:56:56 +00:00
netpoll_nacl.go
netpoll_solaris.go runtime: on unexpected netpoll error, throw instead of looping 2015-09-15 17:56:56 +00:00
netpoll_stub.go runtime: define netpollinited on Plan 9 2015-01-14 22:04:56 +00:00
netpoll_windows.go runtime: replace func-based write barrier skipping with type-based 2015-04-20 20:20:09 +00:00
netpoll.go all: fix misprints in comments 2015-06-11 14:18:57 +00:00
noasm.go runtime: implement cmpstring and bytes.Compare in assembly for ppc64 2015-08-31 18:41:58 +00:00
norace_linux_test.go runtime: re-enable TestNewProc0 on android/arm and fix heap corruption 2015-04-29 19:18:07 +00:00
norace_test.go
os1_darwin.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os1_dragonfly.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os1_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
os1_linux.go runtime: use a 64kb system stack on arm 2015-10-26 15:10:34 +00:00
os1_nacl.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os1_netbsd_386.go
os1_netbsd_amd64.go
os1_netbsd.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os1_openbsd.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os1_plan9.go runtime: use unsafe.Pointer(x) instead of (unsafe.Pointer)(x) 2015-10-15 21:48:37 +00:00
os1_windows.go runtime: account for cpu affinity in windows NumCPU 2015-10-23 07:54:42 +00:00
os2_darwin.go
os2_dragonfly.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_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_linux.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
os2_netbsd.go
os2_openbsd.go
os2_plan9.go runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
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
os2_windows.go runtime: do not calculate asmstdcall address every time we make syscall 2015-04-09 04:26:44 +00:00
os3_plan9.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
os3_solaris.go runtime: don't define libc_getpid in os3_solaris.go 2015-07-28 14:07:17 +00:00
os_android_arm.go runtime: export main.main for android 2015-04-17 12:11:04 +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: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
os_dragonfly.go runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +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 runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
os_linux_386.go
os_linux_arm64.go runtime: mark all runtime.cputicks implementations NOSPLIT 2015-04-15 09:22:15 +00:00
os_linux_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_linux.go runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +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 runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +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 runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +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 runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
os_plan9.go runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
os_solaris.go runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
os_windows.go runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
panic.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
parfor_test.go runtime: eliminate parfor ctx field 2015-01-29 17:38:16 +00:00
parfor.go runtime: use func value for parfor body 2015-01-29 17:38:32 +00:00
print.go runtime: remove unused printpc and printbyte functions 2015-10-22 15:02:44 +00:00
proc_test.go runtime: disable TestGoroutineParallelism on uniprocessor 2015-07-22 18:53:12 +00:00
proc.go runtime: change p.runq from []*g to []guintptr 2015-11-03 15:53:18 +00:00
race0.go runtime: rename gothrow to throw 2014-12-28 06:16:16 +00:00
race_amd64.s runtime: adjust program counters in race detector 2015-02-20 18:04:16 +00:00
race.go runtime: merge race1.go -> race.go 2015-10-18 23:48:22 +00:00
rdebug.go runtime, runtime/debug: access unexported runtime functions with //go:linkname, not assembly stubs 2015-10-16 09:14:25 +00:00
rt0_android_amd64.s runtime, cmd: TLS setup for android/amd64. 2015-10-28 20:54:28 +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: darwin/386 entrypoint for c-archive 2015-10-02 11:45:52 +00:00
rt0_darwin_amd64.s runtime: darwin/amd64 library entry point 2015-04-08 21:53:52 +00:00
rt0_darwin_arm64.s runtime: darwin/arm64 c-archive entry point 2015-04-16 18:56:54 +00:00
rt0_darwin_arm.s runtime: preserve R11 in darwin/arm entrypoint 2015-09-16 11:23:32 +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: merge clone0 and clone 2015-04-22 16:28:57 +00:00
rt0_linux_amd64.s runtime: deflake TestNewOSProc0, fix _rt0_amd64_linux_lib stack alignment 2015-04-23 23:09:03 +00:00
rt0_linux_arm64.s runtime: c-shared entrypoint for linux/arm64 2015-10-28 21:21:33 +00:00
rt0_linux_arm.s runtime: merge clone0 and clone 2015-04-22 16:28:57 +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, runtime/cgo: conform to PIC register use rules in ppc64 asm 2015-10-18 23:36:39 +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_solaris_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_windows_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_windows_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +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 runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
runtime2.go runtime: change p.runq from []*g to []guintptr 2015-11-03 15:53:18 +00:00
runtime_linux_test.go
runtime_test.go runtime: reduce slice growth during append to 2x 2015-06-26 17:49:33 +00:00
runtime_unix_test.go runtime: multi-threaded, utilization-scheduled background mark 2015-04-21 15:35:32 +00:00
runtime-gdb_test.go runtime: require gdb version 7.9 for gdb test 2015-07-24 17:15:44 +00:00
runtime-gdb.py runtime: Fix GDB integration with Python 2 2015-04-10 22:17:59 +00:00
runtime.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
select.go runtime, syscall: add calls to msan functions 2015-10-21 19:17:46 +00:00
sema.go runtime: remove runtime frames from stacks in traces 2015-03-10 14:46:15 +00:00
signal1_unix.go runtime: drop sigfwd from signal forwarding unsupported platforms 2015-10-02 01:07:44 +00:00
signal2_unix.go runtime: drop sigfwd from signal forwarding unsupported platforms 2015-10-02 01:07:44 +00:00
signal_386.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
signal_amd64x.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
signal_arm64.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
signal_arm.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
signal_darwin_386.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
signal_darwin_amd64.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
signal_darwin_arm64.go runtime: darwin/arm64 support 2015-04-16 13:01:19 +00:00
signal_darwin_arm.go runtime: use uintXX instead of *byte for si_addr on Darwin 2015-03-26 16:20:32 +00:00
signal_darwin.go runtime: drop sigfwd from signal forwarding unsupported platforms 2015-10-02 01:07:44 +00:00
signal_dragonfly_amd64.go
signal_dragonfly.go
signal_freebsd_386.go
signal_freebsd_amd64.go
signal_freebsd_arm.go
signal_freebsd.go
signal_linux_386.go
signal_linux_amd64.go
signal_linux_arm64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
signal_linux_arm.go
signal_linux_ppc64x.go
signal_linux.go runtime: unblock special glibc signals on each thread 2015-09-14 21:59:54 +00:00
signal_nacl_386.go
signal_nacl_amd64p32.go
signal_nacl_arm.go
signal_nacl.go
signal_netbsd_386.go
signal_netbsd_amd64.go
signal_netbsd_arm.go
signal_netbsd.go runtime: don't always unblock all signals 2015-05-22 20:24:08 +00:00
signal_openbsd_386.go
signal_openbsd_amd64.go
signal_openbsd_arm.go runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
signal_openbsd.go
signal_plan9.go runtime: handle abort note on Plan 9 2015-10-26 22:12:30 +00:00
signal_ppc64x.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
signal_solaris_amd64.go
signal_solaris.go all: use one 'l' when cancelling everywhere except Solaris 2015-09-11 18:31:51 +00:00
signal_unix.go runtime: drop sigfwd from signal forwarding unsupported platforms 2015-10-02 01:07:44 +00:00
signal_windows.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
sigpanic_unix.go runtime/cgo: catch EXC_BAD_ACCESS on darwin/arm 2015-03-17 12:12:48 +00:00
sigqueue_plan9.go runtime, os/signal: use //go:linkname instead of assembly stubs to get access to runtime functions 2015-10-16 07:11:04 +00:00
sigqueue.go runtime, os/signal: use //go:linkname instead of assembly stubs to get access to runtime functions 2015-10-16 07:11:04 +00:00
slice.go runtime, syscall: add calls to msan functions 2015-10-21 19:17:46 +00:00
softfloat64_test.go
softfloat64.go runtime: slightly clean up softfloat code 2015-06-26 17:51:22 +00:00
softfloat_arm.go runtime: teach softfloat interpreter about "add r11, pc, r11" 2015-09-04 06:43:35 +00:00
sqrt_test.go runtime: copy sqrt normalization bugfix from math 2015-10-23 23:43:47 +00:00
sqrt.go runtime: copy sqrt normalization bugfix from math 2015-10-23 23:43:47 +00:00
stack_test.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
stack.go runtime: add pcvalue cache to improve stack scan speed 2015-10-22 17:48:13 +00:00
string_test.go cmd/gc: don't copy string in range []byte(str) 2015-02-04 04:37:21 +00:00
string.go runtime, syscall: add calls to msan functions 2015-10-21 19:17:46 +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: call goexit1 instead of goexit 2015-08-06 20:21:05 +00:00
symtab_test.go cmd/compile: initialize line number properly for temporaries 2015-07-07 21:30:59 +00:00
symtab.go runtime: add pcvalue cache to improve stack scan speed 2015-10-22 17:48:13 +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 runtime: rename close to closefd 2015-04-14 12:31:29 +00:00
sys_darwin_amd64.s runtime: signal forwarding for darwin/amd64 2015-04-26 13:46:13 +00:00
sys_darwin_arm64.s runtime: fix darwin/amd64 assembly frame sizes 2015-07-29 22:26:02 +00:00
sys_darwin_arm.s runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
sys_dragonfly_amd64.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_freebsd_386.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_freebsd_amd64.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_freebsd_arm.s runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
sys_linux_386.s cmd/go, runtime: define GOBUILDMODE_shared rather than shared when dynamically linking 2015-11-01 19:52:33 +00:00
sys_linux_amd64.s runtime, cmd: TLS setup for android/amd64. 2015-10-28 20:54:28 +00:00
sys_linux_arm64.s runtime, reflect: use correctly aligned stack frame sizes on arm64 2015-07-29 21:35:35 +00:00
sys_linux_arm.s runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
sys_linux_ppc64x.s runtime, runtime/cgo: conform to PIC register use rules in ppc64 asm 2015-10-18 23:36:39 +00:00
sys_nacl_386.s all: fix misprints in comments 2015-06-11 14:18:57 +00:00
sys_nacl_amd64p32.s runtime: rename close to closefd 2015-04-14 12:31:29 +00:00
sys_nacl_arm.s runtime: ensure GC sees type-safe memory on weak machines 2015-06-19 15:29:50 +00:00
sys_netbsd_386.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_netbsd_amd64.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_netbsd_arm.s runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
sys_openbsd_386.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_openbsd_amd64.s runtime: log all thread stack traces during GODEBUG=crash on Unix 2015-07-27 16:58:53 +00:00
sys_openbsd_arm.s runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +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_ppc64x.go runtime: rename gothrow to throw 2014-12-28 06:16:16 +00:00
sys_solaris_amd64.s runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
sys_windows_386.s runtime: really pass return value to Windows in externalthreadhandler 2015-04-15 05:03:42 +00:00
sys_windows_amd64.s runtime: provide room for first 4 syscall parameters in windows usleep2 2015-09-15 01:12:32 +00:00
sys_x86.go all: link to https instead of http 2015-07-11 14:36:33 +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 runtime: rename cgocall_errno and asmcgocall_errno into cgocall and asmcgocall 2015-06-19 01:47:11 +00:00
syscall_windows_test.go runtime: account for cpu affinity in windows NumCPU 2015-10-23 07:54:42 +00:00
syscall_windows.go runtime: change functype's in and out fields to []*_type 2015-10-21 18:37:45 +00:00
textflag.h cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
time.go runtime: remove runtime frames from stacks in traces 2015-03-10 14:46:15 +00:00
tls_arm64.h runtime: darwin/arm64 support 2015-04-16 13:01:19 +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 cmd/internal/obj, cmd/link, runtime: lots of TLS cleanup 2015-10-08 00:21:30 +00:00
tls_ppc64x.s cmd/internal/obj, cmd/link, runtime: handle TLS more like a platform linker on ppc64 2015-10-29 22:24:29 +00:00
trace.go runtime/trace: fix tracing of blocking system calls 2015-09-17 09:06:20 +00:00
traceback.go runtime: introduce GOTRACEBACK=single, now the default 2015-10-30 18:43:44 +00:00
type.go runtime: change functype's in and out fields to []*_type 2015-10-21 18:37:45 +00:00
typekind.go runtime: remove _Kind constants 2015-10-13 00:15:36 +00:00
unaligned1.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
unaligned2.go
vdso_linux_amd64.go
vdso_none.go runtime: use runtime.sysargs to parse auxv on linux/arm 2015-01-14 05:08:06 +00:00
vlop_386.s
vlop_arm_test.go runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
vlop_arm.s runtime: change arm software div/mod call sequence not to modify stack 2015-07-30 16:14:05 +00:00
vlrt.go
wbfat_gen.go runtime: change unused argument in fat write barriers from pointer to scalar 2015-04-28 01:37:45 +00:00
wbfat.go runtime: change unused argument in fat write barriers from pointer to scalar 2015-04-28 01:37:45 +00:00
wincallback.go
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
zgoarch_386.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_amd64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_amd64p32.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_arm64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_arm.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_ppc64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoarch_ppc64le.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
zgoos_android.go
zgoos_darwin.go
zgoos_dragonfly.go
zgoos_freebsd.go
zgoos_linux.go
zgoos_nacl.go
zgoos_netbsd.go
zgoos_openbsd.go
zgoos_plan9.go
zgoos_solaris.go
zgoos_windows.go