1
0
mirror of https://github.com/golang/go synced 2024-10-02 02:28:32 -06:00
go/src/runtime
Ilya Tocar 91102bf723 runtime: use bytes.IndexByte in findnull
bytes.IndexByte is heavily optimized. Use it in findnull.
This is second attempt, similar to CL97523.
In this version we never call IndexByte on region of memory,
that crosses page boundary. A bit slower than CL97523,
but still fast:

name        old time/op  new time/op  delta
GoString-6   164ns ± 2%   118ns ± 0%  -28.00%  (p=0.000 n=10+6)

findnull is also used in gostringnocopy,
which is used in many hot spots in the runtime.

Fixes #23830

Change-Id: Id843dd4f65a34309d92bdd8df229e484d26b0cb2
Reviewed-on: https://go-review.googlesource.com/98015
Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-03-09 19:37:39 +00:00
..
cgo runtime/cgo: make sure nil is undefined before defining it 2018-03-07 21:08:19 +00:00
debug runtime/debug: mark TestSetGCPercent as flaky 2017-04-24 22:11:58 +00:00
internal runtime/internal/atomic: add early nil check on ARM 2018-02-14 17:09:05 +00:00
msan
pprof runtime/pprof: scale mutex profile with sampling rate 2018-01-24 14:06:59 +00:00
race cmd/go: implement per-package asmflags, gcflags, ldflags, gccgoflags 2017-11-09 15:04:04 +00:00
testdata runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
trace internal/trace: remove backlinks from span/task end to start 2018-03-05 20:10:22 +00:00
alg.go runtime: specialize memhash32 and memhash64 2017-08-28 19:55:27 +00:00
asm_386.s runtime: call abort instead of raw INT $3 or bad MOV 2018-03-08 22:55:54 +00:00
asm_amd64.s runtime: call abort instead of raw INT $3 or bad MOV 2018-03-08 22:55:54 +00:00
asm_amd64p32.s runtime: call abort instead of raw INT $3 or bad MOV 2018-03-08 22:55:54 +00:00
asm_arm64.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_arm.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_mips64x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_mipsx.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_ppc64x.h
asm_ppc64x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_s390x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm.s runtime: handle inlined calls in runtime.Callers 2017-03-29 17:22:08 +00:00
atomic_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
atomic_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +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: eliminate all writebarrierptr* calls 2018-02-13 16:34:45 +00:00
atomic_ppc64x.s sync/atomic, runtime/internal/atomic: improve ppc64x atomics 2016-05-05 18:52:28 +00:00
callers_test.go
cgo_mmap.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
cgo_ppc64x.go
cgo_sigaction.go runtime: change from rt_sigaction to sigaction 2018-03-07 23:30:02 +00:00
cgo.go runtime: access _cgo_yield indirectly 2017-03-24 15:37:56 +00:00
cgocall.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
cgocallback.go
cgocheck.go runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
chan_test.go runtime: skip test that intermittently hangs on ppc64le 2017-10-03 12:26:42 +00:00
chan.go runtime: replace _MaxMem with maxAlloc 2018-02-15 21:12:26 +00:00
chanbarrier_test.go
closure_test.go
compiler.go
complex_test.go
complex.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cpuflags_amd64.go runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
cpuprof.go runtime: in cpuProfile.addExtra, set p.lostExtra to 0 after flush 2017-09-12 16:54:29 +00:00
cputicks.go all: remove some double spaces from comments 2017-08-26 15:09:09 +00:00
crash_cgo_test.go runtime: fail silently if we unwind over sigpanic into C code 2018-01-31 02:13:21 +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: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
crash_unix_test.go cmd/compile: add TestIntendedInlining from runtime 2017-09-13 18:10:31 +00:00
debug.go runtime: eliminate GOMAXPROCS limit 2017-09-27 16:29:12 +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: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs1_netbsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs1_netbsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +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: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_arm64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_dragonfly_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_dragonfly.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +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: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +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 runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
duff_amd64.s cmd/compile/internal/ssa: use sse to zero on amd64 2017-08-16 15:52:27 +00:00
duff_arm64.s runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
duff_arm.s runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
duff_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
duff_ppc64x.s runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
env_plan9.go
env_posix.go runtime: clean redundant call of environ function 2017-05-03 10:02:26 +00:00
env_test.go
error.go internal/bytealg: move IndexByte asssembly to the new bytealg package 2018-03-02 22:46:15 +00:00
example_test.go runtime: improve ExampleFrames 2017-04-20 19:46:01 +00:00
export_arm_test.go
export_futex_test.go
export_linux_test.go
export_mmap_test.go runtime: fetch physical page size from the OS 2016-09-06 21:05:50 +00:00
export_test.go runtime: add TestSizeof 2018-03-09 17:03:25 +00:00
export_unix_test.go runtime: use SIGKILL if SIGQUIT is blocked; skip tests that need SIGQUIT 2017-07-20 18:09:18 +00:00
export_windows_test.go
extern.go runtime: don't elide wrapper functions that call panic or at TOS 2017-11-13 21:43:44 +00:00
fastlog2_test.go
fastlog2.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
fastlog2table.go
float.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
funcdata.h cmd/compile,link: generate PC-value tables with inlining information 2017-03-03 21:29:30 +00:00
futex_test.go
gc_test.go runtime: rename the TestGcHashmapIndirection to TestGcMapIndirection 2018-02-23 16:48:01 +00:00
gcinfo_test.go cmd/compile: mark the first word of an interface as a uintptr 2018-02-27 22:58:32 +00:00
go_tls.h
HACKING.md runtime: make rwmutex work on Ms instead of Gs 2017-06-28 22:08:57 +00:00
hash32.go runtime: specialize memhash32 and memhash64 2017-08-28 19:55:27 +00:00
hash64.go runtime: fix memhash64 on big endian systems 2017-08-29 04:39:41 +00:00
hash_test.go runtime: specialize memhash32 and memhash64 2017-08-28 19:55:27 +00:00
heapdump.go runtime: support a two-level arena map 2018-02-23 21:59:50 +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 runtime: don't check for String/Error methods in printany 2018-02-23 22:39:46 +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: clarify address space limit constants and comments 2018-02-21 20:32:36 +00:00
lfstack_test.go
lfstack.go runtime: validate lfnode addresses 2018-02-15 21:12:11 +00:00
lock_futex.go runtime: fix stack split at bad time when disable inlining 2017-05-29 19:10:39 +00:00
lock_sema.go runtime: make m.nextwaitm an muintptr 2017-10-11 17:47:10 +00:00
Makefile
malloc_test.go runtime: only run TestArenaCollision if the target can exec 2018-02-16 15:33:42 +00:00
malloc.go runtime: reduce arena size to 4MB on 64-bit Windows 2018-02-23 21:59:51 +00:00
map_benchmark_test.go runtime: rename map implementation and test files to use a common prefix 2018-02-17 14:57:32 +00:00
map_fast32.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_fast64.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_faststr.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_test.go cmd/compile: fix miscompilation of "defer delete(m, k)" 2018-03-06 23:33:28 +00:00
map.go runtime: rename map implementation and test files to use a common prefix 2018-02-17 14:57:32 +00:00
mbarrier.go runtime: short-circuit typedmemmove when dst==src 2018-02-27 00:56:18 +00:00
mbitmap.go runtime: fix typo, func comments should start with function name 2018-03-02 12:03:30 +00:00
mcache.go runtime: replace mlookup and findObject with heapBitsForObject 2018-02-15 21:12:12 +00:00
mcentral.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
mem_bsd.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_darwin.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_linux.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_plan9.go runtime: don't try to shrink address space with brk in Plan 9 2018-02-28 15:57:10 +00:00
mem_windows.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
memclr_386.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memclr_amd64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_amd64p32.s runtime: cleanup amd64p32 memmove and memclr file organization 2017-09-05 20:00:05 +00:00
memclr_arm64.s runtime: IndexByte and memclr perf improvements on arm64 2017-11-15 02:58:03 +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 runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memmove_amd64.s runtime: simplify amd64 memmove of 3/4 bytes 2018-02-15 15:05:53 +00:00
memmove_amd64p32.s runtime: cleanup amd64p32 memmove and memclr file organization 2017-09-05 20:00:05 +00:00
memmove_arm64.s runtime: improve arm64 memmove implementation 2018-03-01 20:34:11 +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: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
memmove_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +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
memmove_s390x.s
memmove_test.go runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
mfinal_test.go runtime: shorten tests in all.bash 2017-10-31 13:20:27 +00:00
mfinal.go runtime: split object finding out of heapBitsForObject 2018-02-15 21:12:13 +00:00
mfixalloc.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +00:00
mgc.go runtime/debug: make SetGCPercent(-1) wait for concurrent GC 2017-11-22 14:47:12 +00:00
mgclarge.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +00:00
mgcmark.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +00:00
mgcsweep.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mgcsweepbuf.go runtime: make markrootSpans time proportional to in-use spans 2016-10-25 22:32:59 +00:00
mgcwork.go runtime: validate lfnode addresses 2018-02-15 21:12:11 +00:00
mheap.go runtime: support a two-level arena map 2018-02-23 21:59:50 +00:00
mkduff.go runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
mkfastlog2table.go
mknacl.sh runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
mksizeclasses.go runtime: add "max waste" column to size class table comment 2017-08-10 21:45:01 +00:00
mmap.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
mprof.go runtime: remove getcallerpc argument 2017-09-22 22:17:15 +00:00
msan0.go
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: remove sizeToClass 2017-03-13 01:55:44 +00:00
mstats.go runtime: use sparse mappings for the heap 2018-02-15 21:12:23 +00:00
mwbbuf.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
net_plan9.go net: refactor poller into new internal/poll package 2017-02-13 18:36:28 +00:00
netpoll_epoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_kqueue.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
netpoll_nacl.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_solaris.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_stub.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_windows.go runtime: make errno positive in netpollopen 2017-10-24 03:19:09 +00:00
netpoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
norace_linux_test.go
norace_test.go
numcpu_freebsd_test.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
os2_freebsd.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os2_nacl.go
os2_openbsd.go
os2_plan9.go
os2_solaris.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os3_plan9.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
os3_solaris.go runtime: clean up libc_* definitions on Solaris 2018-03-01 07:31:53 +00:00
os_android.go
os_darwin_arm64.go internal/cpu: detect cpu features in internal/cpu package 2017-11-14 19:07:15 +00:00
os_darwin_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_darwin.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_dragonfly.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_freebsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_freebsd.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_arm64.go internal/cpu: detect cpu features in internal/cpu package 2017-11-14 19:07:15 +00:00
os_linux_arm.go runtime: fix comment for hwcap on linux/arm 2018-03-09 16:02:38 +00:00
os_linux_be64.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_generic.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_mips64x.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_mipsx.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_noauxv.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_novdso.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_ppc64x.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_s390x.go internal/bytealg: move short string Index implementations into bytealg 2018-03-04 19:49:44 +00:00
os_linux.go runtime: use systemstack around throw in sysSigaction 2018-03-08 16:35:53 +00:00
os_nacl_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_nacl.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_netbsd_386.go
os_netbsd_amd64.go
os_netbsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_netbsd.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_openbsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_openbsd.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_plan9_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_plan9.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_solaris.go runtime: set libcall values for Solaris system calls 2018-03-09 19:27:20 +00:00
os_windows.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
panic.go runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
plugin.go runtime, plugin: error not throw on duplicate open 2017-09-09 16:26:33 +00:00
print.go runtime: print hexdump on traceback failure 2018-01-22 21:51:29 +00:00
proc_runtime_test.go
proc_test.go runtime: fix build on non-Linux platforms 2017-11-21 21:52:58 +00:00
proc.go runtime: set libcall values for Solaris system calls 2018-03-09 19:27:20 +00:00
profbuf_test.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +00:00
profbuf.go runtime: fix false positive race in profile label reading 2017-08-18 21:40:37 +00:00
proflabel.go runtime: fix false positive race in profile label reading 2017-08-18 21:40: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: split object finding out of heapBitsForObject 2018-02-15 21:12:13 +00:00
rand_test.go runtime: speed up fastrand() % n 2017-02-14 00:01:22 +00:00
rdebug.go
relax_stub.go runtime: use next timer to decide whether to relax 2017-07-07 21:22:31 +00:00
rt0_android_386.s runtime: pass dummy argc/argv correctly in r0_386_android_lib 2018-01-21 04:56:36 +00:00
rt0_android_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_android_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_android_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_darwin_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_darwin_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_darwin_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_darwin_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_dragonfly_amd64.s runtime: fix dragonfly/amd64 2017-10-12 04:03:50 +00:00
rt0_freebsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_freebsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_freebsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_linux_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_linux_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_linux_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_linux_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_linux_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
rt0_linux_mipsx.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
rt0_linux_ppc64.s
rt0_linux_ppc64le.s runtime: make sure R0 is zero before _main on ppc64le 2017-08-11 17:46:24 +00:00
rt0_linux_s390x.s cmd/link: enable c-shared and c-archive mode on s390x 2017-11-17 15:54:54 +00:00
rt0_nacl_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_nacl_amd64p32.s
rt0_nacl_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_netbsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_netbsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_netbsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_openbsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_openbsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_openbsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_plan9_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_plan9_amd64.s
rt0_plan9_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_solaris_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_windows_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_windows_amd64.s runtime: unify amd64 -buildmode=exe entry point code 2017-10-11 20:07:31 +00:00
runtime1.go runtime: buffered write barrier implementation 2017-10-30 18:12:44 +00:00
runtime2.go runtime: explain and enforce that _panic values live on the stack 2018-03-08 23:35:46 +00:00
runtime_linux_test.go runtime: fix build on non-Linux platforms 2017-11-21 21:52:58 +00:00
runtime_mmap_test.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
runtime_test.go runtime: shorten tests in all.bash 2017-10-31 13:20:27 +00:00
runtime_unix_test.go
runtime-gdb_test.go runtime/gdb: use goroutine atomicstatus to determine the state 2018-02-13 19:23:37 +00:00
runtime-gdb.py runtime/gdb: use goroutine atomicstatus to determine the state 2018-02-13 19:23:37 +00:00
runtime-lldb_test.go cmd/go: implement per-package asmflags, gcflags, ldflags, gccgoflags 2017-11-09 15:04:04 +00:00
runtime.go syscall: make Exit call runtime.exit 2017-09-27 01:10:05 +00:00
rwmutex_test.go runtime: "fix" non-preemptible loop in TestParallelRWMutexReaders 2017-10-26 20:38:48 +00:00
rwmutex.go sync: consistently use article "a" for RWMutex 2018-01-16 23:09:57 +00:00
select.go runtime: remove getcallerpc argument 2017-09-22 22:17:15 +00:00
sema.go runtime: fix using fastrand in sema.go 2017-10-04 18:41:11 +00:00
sigaction_linux.go runtime: change from rt_sigaction to sigaction 2018-03-07 23:30:02 +00:00
signal_386.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_amd64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_arm64.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_arm.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_darwin_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_darwin.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +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: forward crashing signals to late handlers 2017-08-29 07:40:19 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_freebsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_mips64x.go runtime: restore RSB for sigpanic call on mips64x 2018-01-31 20:57:53 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_s390x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_mips64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_mipsx.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_nacl.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_netbsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +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: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_openbsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_plan9.go
signal_ppc64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_sighandler.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +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: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_unix.go runtime: don't grow the stack on sigpanic if throwsplit 2018-01-23 19:50:18 +00:00
signal_windows.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
sigqueue_plan9.go os/signal: avoid race between Stop and receiving on channel 2017-06-24 00:54:01 +00:00
sigqueue.go runtime: improve sigsend documentation 2017-12-01 20:34:13 +00:00
sigtab_linux_generic.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
sigtab_linux_mipsx.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
sizeclasses.go runtime: add "max waste" column to size class table comment 2017-08-10 21:45:01 +00:00
sizeof_test.go runtime: add TestSizeof 2018-03-09 17:03:25 +00:00
slice_test.go runtime: improve test file naming 2018-02-15 08:56:58 +00:00
slice.go runtime: replace _MaxMem with maxAlloc 2018-02-15 21:12:26 +00:00
softfloat64_test.go
softfloat64.go runtime: implement some soft-float routines (used by GOMIPS=softfloat) 2017-11-30 17:12:05 +00:00
softfloat_arm.go runtime: restore arm assembly stubs for div/mod 2017-06-15 03:51:03 +00:00
sqrt_test.go
sqrt.go
stack_test.go runtime: even more TestStackGrowth timeout debugging 2017-12-01 20:46:46 +00:00
stack.go runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
string_test.go runtime: add slicebytetostring benchmark 2017-03-05 05:14:08 +00:00
string.go runtime: use bytes.IndexByte in findnull 2018-03-09 19:37:39 +00:00
stubs2.go runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
stubs32.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
stubs_android.go
stubs_linux.go runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
stubs_nonlinux.go runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
stubs.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
symtab_test.go runtime: allow calling Func.Name on nil pointer 2017-06-30 23:42:03 +00:00
symtab.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +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 runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_darwin_amd64.s runtime: fix time.Now on Sierra and older 2018-01-16 16:49:41 +00:00
sys_darwin_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
sys_darwin_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_dragonfly_amd64.s runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
sys_freebsd_386.s runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
sys_freebsd_amd64.s runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
sys_freebsd_arm.s runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
sys_linux_386.s runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
sys_linux_amd64.s runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
sys_linux_arm64.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_arm.s runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
sys_linux_mips64x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_mipsx.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_ppc64x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_s390x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +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: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_nacl_amd64p32.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_nacl_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_netbsd_386.s runtime: make NetBSD lwp_park use monotonic time 2017-12-04 03:29:56 +00:00
sys_netbsd_amd64.s runtime: make NetBSD lwp_park use monotonic time 2017-12-04 03:29:56 +00:00
sys_netbsd_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_nonppc64x.go
sys_openbsd_386.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_openbsd_amd64.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_openbsd_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_plan9_386.s runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
sys_plan9_amd64.s runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
sys_plan9_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +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 runtime: call sigtrampgo on solaris 2017-08-29 19:57:32 +00:00
sys_windows_386.s runtime: make time correctly update on Wine 2017-04-25 04:30:06 +00:00
sys_windows_amd64.s runtime: make time correctly update on Wine 2017-04-25 04:30:06 +00:00
sys_x86.go runtime: fix documentation typo for gostartcall 2017-11-29 18:42:49 +00:00
syscall2_solaris.go runtime: clean up libc_* definitions on Solaris 2018-03-01 07:31:53 +00:00
syscall_nacl.h runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
syscall_solaris.go runtime: clean up libc_* definitions on Solaris 2018-03-01 07:31:53 +00:00
syscall_windows_test.go runtime: make TestWindowsStackMemory build even with CGO_ENABLED=0 set 2017-11-14 03:53:15 +00:00
syscall_windows.go syscall: make Exit call runtime.exit 2017-09-27 01:10:05 +00:00
textflag.h
time.go runtime: don't issue cgocheck error for timer bucket source pointer 2018-01-15 22:18:55 +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
tls_arm64.s
tls_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
tls_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
tls_mipsx.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
tls_ppc64x.s
tls_s390x.s
trace.go runtime/trace: implement annotation API 2018-02-15 18:54:14 +00:00
traceback.go runtime: avoid bad unwinding from sigpanic in C code 2018-02-13 21:01:26 +00:00
type.go cmd/compile: fix and improve struct field reflect information 2017-09-05 18:09:41 +00:00
typekind.go
unaligned1.go
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_elf32.go runtime: use vDSO for clock_gettime on linux/arm 2018-03-03 12:12:58 +00:00
vdso_elf64.go runtime: move ELF structure definitions into own files 2018-02-15 16:15:19 +00:00
vdso_in_none.go runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
vdso_linux_386.go runtime: rename vdso symbols to use camel case 2018-03-05 19:12:32 +00:00
vdso_linux_amd64.go runtime: rename vdso symbols to use camel case 2018-03-05 19:12:32 +00:00
vdso_linux_arm.go runtime: rename vdso symbols to use camel case 2018-03-05 19:12:32 +00:00
vdso_linux_test.go runtime: rename vdso symbols to use camel case 2018-03-05 19:12:32 +00:00
vdso_linux.go runtime: get traceback from VDSO code 2018-03-07 23:35:25 +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
vlop_arm.s cmd/compile: CALLudiv on nacl/arm doesn't clobber R12 2018-02-14 17:09:15 +00:00
vlrt.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
wincallback.go
write_err_android.go runtime: update android time_now call 2017-02-08 02:56:25 +00:00
write_err.go
zcallback_windows.go
zcallback_windows.s