1
0
mirror of https://github.com/golang/go synced 2024-11-18 01:44:49 -07:00
go/src/runtime
Josh Bleecher Snyder 64bd2c49b4 runtime: simplify b.tophash[i] calculation
The compiler is now smart enough not to insert a bounds check.
Not only is this simpler, it eliminates a LEAQ from the
generated code.

Change-Id: Ie90cbd11584542edd99edd5456d9b02c406e8063
Reviewed-on: https://go-review.googlesource.com/53892
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-08-08 19:51:48 +00:00
..
cgo runtime/cgo: fix typos 2017-06-21 15:54:38 +00:00
debug runtime/debug: mark TestSetGCPercent as flaky 2017-04-24 22:11:58 +00:00
internal runtime, internal/cpu: change cache line size for arm64 to 64 bytes 2017-08-08 06:49:49 +00:00
msan
pprof runtime/pprof: prevent a deadlock that SIGPROF might create on mips{,le} 2017-07-26 13:29:59 +00:00
race testing: consider a test failed after race errors 2017-04-10 14:36:02 +00:00
testdata runtime: get more info for TestCgoSignalDeadlock failures 2017-06-27 00:34:53 +00:00
trace runtime/trace: better output when test fails 2017-04-14 12:21:02 +00:00
alg.go runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
append_test.go
asm_386.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_amd64.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_amd64p32.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_arm64.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_arm.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_mips64x.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_mipsx.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_ppc64x.h
asm_ppc64x.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm_s390x.s runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
asm.s runtime: handle inlined calls in runtime.Callers 2017-03-29 17:22:08 +00:00
atomic_arm64.s
atomic_mips64x.s
atomic_mipsx.s
atomic_pointer.go
atomic_ppc64x.s
callers_test.go
cgo_mmap.go runtime: intercept munmap as we do mmap 2017-06-06 23:26:55 +00:00
cgo_ppc64x.go
cgo_sigaction.go runtime: don't call libc sigaction function in forked child 2017-07-20 18:02:47 +00:00
cgo.go
cgocall.go
cgocallback.go
cgocheck.go runtime: rename _MSpanStack -> _MSpanManual 2017-04-13 18:20:30 +00:00
chan_test.go
chan.go
chanbarrier_test.go
closure_test.go
compiler.go
complex_test.go
complex.go
cpuflags_amd64.go runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
cpuprof.go runtime/pprof: prevent a deadlock that SIGPROF might create on mips{,le} 2017-07-26 13:29:59 +00:00
cputicks.go
crash_cgo_test.go runtime: don't call t.Parallel in TestCgoSignalDeadlock 2017-07-13 04:07:39 +00:00
crash_nonunix_test.go
crash_test.go runtime: deflake TestPanicRace 2017-06-07 00:55:56 +00:00
crash_unix_test.go runtime: use SIGKILL if SIGQUIT is blocked; skip tests that need SIGQUIT 2017-07-20 18:09:18 +00:00
debug.go
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
defs_darwin_amd64.go
defs_darwin_arm64.go
defs_darwin_arm.go
defs_darwin.go
defs_dragonfly_amd64.go
defs_dragonfly.go
defs_freebsd_386.go
defs_freebsd_amd64.go
defs_freebsd_arm.go
defs_freebsd.go
defs_linux_386.go
defs_linux_amd64.go
defs_linux_arm64.go
defs_linux_arm.go
defs_linux_mips64x.go
defs_linux_mipsx.go
defs_linux_ppc64.go
defs_linux_ppc64le.go
defs_linux_s390x.go
defs_linux.go
defs_nacl_386.go
defs_nacl_amd64p32.go
defs_nacl_arm.go
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_netbsd.go
defs_openbsd_386.go
defs_openbsd_amd64.go
defs_openbsd_arm.go
defs_openbsd.go
defs_plan9_386.go
defs_plan9_amd64.go
defs_plan9_arm.go
defs_solaris_amd64.go
defs_solaris.go
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 runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
duff_arm64.s runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +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, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +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 runtime: improve output of panic(x) where x is numeric 2017-04-09 22:40:33 +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
export_test.go runtime: make rwmutex work on Ms instead of Gs 2017-06-28 22:08:57 +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: fix documentation error about runtime.GC() 2017-06-08 17:47:50 +00:00
fastlog2_test.go
fastlog2.go
fastlog2table.go
float.go
funcdata.h
futex_test.go
gc_test.go
gcinfo_test.go
go_tls.h
HACKING.md runtime: make rwmutex work on Ms instead of Gs 2017-06-28 22:08:57 +00:00
hash32.go
hash64.go
hash_test.go
hashmap_fast.go runtime: simplify b.tophash[i] calculation 2017-08-08 19:51:48 +00:00
hashmap.go runtime: don't panic for bad size hint in hashmap 2017-05-02 20:51:39 +00:00
heapdump.go
iface_test.go
iface.go
lfstack_32bit.go
lfstack_64bit.go
lfstack_test.go
lfstack.go
lock_futex.go runtime: fix stack split at bad time when disable inlining 2017-05-29 19:10:39 +00:00
lock_sema.go
Makefile
malloc_test.go runtime: improve TestMemStats checks 2017-03-31 00:46:16 +00:00
malloc.go runtime: fall back to small mmaps if we fail to grow reservation 2017-07-31 14:05:58 +00:00
map_test.go runtime: don't panic for bad size hint in hashmap 2017-05-02 20:51:39 +00:00
mapspeed_test.go runtime: add a map growth benchmark 2017-04-19 13:47:21 +00:00
mbarrier.go cmd/compile: experiment which clobbers all dead pointer fields 2017-04-21 20:19:50 +00:00
mbitmap.go runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
mcache.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mcentral.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mem_bsd.go runtime: mmap(2) on Solaris & Illumos can return EAGAIN. 2017-05-16 21:01:42 +00:00
mem_darwin.go
mem_linux.go
mem_plan9.go
mem_windows.go runtime: improve out-of-memory message when VirtualAlloc fails 2017-07-21 01:00:33 +00:00
memclr_386.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memclr_amd64.s
memclr_arm64.s
memclr_arm.s
memclr_mips64x.s
memclr_mipsx.s
memclr_plan9_386.s
memclr_plan9_amd64.s
memclr_ppc64x.s
memclr_s390x.s
memmove_386.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memmove_amd64.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memmove_arm64.s
memmove_arm.s
memmove_linux_amd64_test.go
memmove_mips64x.s
memmove_mipsx.s
memmove_nacl_amd64p32.s
memmove_plan9_386.s
memmove_plan9_amd64.s
memmove_ppc64x.s
memmove_s390x.s
memmove_test.go
mfinal_test.go
mfinal.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mfixalloc.go runtime: redo insert/remove of large spans 2017-03-29 14:18:24 +00:00
mgc.go runtime: move tSweepTerm capture closer to STW 2017-07-18 16:13:05 +00:00
mgclarge.go all: remove redundant returns 2017-04-19 20:03:51 +00:00
mgcmark.go runtime: only trace mark assists that do work 2017-07-19 20:56:20 +00:00
mgcsweep.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mgcsweepbuf.go
mgcwork.go runtime: free workbufs during sweeping 2017-04-13 18:20:47 +00:00
mheap.go runtime: map bitmap and spans during heap initialization 2017-07-31 16:52:36 +00:00
mkduff.go runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +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, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
mmap.go runtime: intercept munmap as we do mmap 2017-06-06 23:26:55 +00:00
mprof.go runtime: make runtime.GC() trigger a concurrent GC 2017-03-31 01:15:21 +00:00
msan0.go
msan_amd64.s
msan.go
msize.go
mstats.go runtime: clean up some silly allp loops 2017-06-13 18:57:48 +00:00
net_plan9.go
netpoll_epoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_kqueue.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_nacl.go
netpoll_solaris.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_stub.go
netpoll_windows.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
noasm.go
norace_linux_test.go
norace_test.go
numcpu_freebsd_test.go
os2_freebsd.go
os2_nacl.go
os2_openbsd.go
os2_plan9.go
os2_solaris.go
os3_plan9.go
os3_solaris.go
os_android.go
os_darwin_arm64.go hash/crc32: optimize arm64 crc32 implementation 2017-04-13 12:44:10 +00:00
os_darwin_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_darwin.go
os_dragonfly.go
os_freebsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_freebsd.go
os_linux_arm64.go runtime: gofmt -w -s 2017-04-24 17:01:29 +00:00
os_linux_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_linux_be64.go
os_linux_generic.go
os_linux_mips64x.go
os_linux_mipsx.go
os_linux_noauxv.go
os_linux_ppc64x.go
os_linux_s390x.go
os_linux.go runtime: pass CLONE_SYSVSEM to clone 2017-07-12 17:42:50 +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, syscall: reset signal handlers to default in child 2017-06-14 14:00:56 +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: work around NetBSD bug in thread creation 2017-05-31 00:50:43 +00:00
os_openbsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_openbsd.go
os_plan9_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_plan9.go runtime, syscall: reset signal handlers to default in child 2017-06-14 14:00:56 +00:00
os_solaris.go
os_windows.go runtime: always use 2MB stacks on 64-bit Windows 2017-07-18 14:35:35 +00:00
panic.go runtime: delay exiting while panic is running deferred functions 2017-06-05 22:42:48 +00:00
plugin.go
print.go
proc_runtime_test.go
proc_test.go runtime: expand acceptable PingPongHog factor from 2 to 5 2017-06-05 15:51:49 +00:00
proc.go runtime/pprof: prevent a deadlock that SIGPROF might create on mips{,le} 2017-07-26 13:29:59 +00:00
profbuf_test.go
profbuf.go runtime: fix profile handling of labels for race detector 2017-04-28 17:37:46 +00:00
proflabel.go runtime: fix profile handling of labels for race detector 2017-04-28 17:37:46 +00:00
race0.go
race_amd64.s
race.go
rand_test.go
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
rt0_android_amd64.s
rt0_android_arm64.s
rt0_android_arm.s
rt0_darwin_386.s
rt0_darwin_amd64.s
rt0_darwin_arm64.s
rt0_darwin_arm.s
rt0_dragonfly_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s
rt0_linux_386.s
rt0_linux_amd64.s
rt0_linux_arm64.s
rt0_linux_arm.s
rt0_linux_mips64x.s all: fix minor misspellings 2017-04-03 23:19:07 +00:00
rt0_linux_mipsx.s
rt0_linux_ppc64.s
rt0_linux_ppc64le.s runtime: save and restore CR for ppc64le 2017-06-05 19:59:49 +00:00
rt0_linux_s390x.s
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
rt0_plan9_amd64.s
rt0_plan9_arm.s
rt0_solaris_amd64.s
rt0_windows_386.s
rt0_windows_amd64.s
runtime1.go runtime: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
runtime2.go runtime: move pdesc into p 2017-06-14 00:43:30 +00:00
runtime_linux_test.go
runtime_mmap_test.go
runtime_test.go all: remove redundant returns 2017-04-19 20:03:51 +00:00
runtime_unix_test.go
runtime-gdb_test.go runtime: temporarily skip gdb python-related tests on solaris 2017-06-28 05:01:20 +00:00
runtime-gdb.py runtime: fix tab/space inconsistency in runtime-gdb.py 2017-06-08 16:14:52 +00:00
runtime-lldb_test.go
runtime.go
rwmutex_test.go runtime: prevent descheduling while holding rwmutex read lock 2017-07-06 17:04:25 +00:00
rwmutex.go runtime: prevent descheduling while holding rwmutex read lock 2017-07-06 17:04:25 +00:00
select.go
sema.go runtime: record mutex event before readying 2017-06-14 16:07:58 +00:00
sigaction_linux.go
signal_386.go
signal_amd64x.go
signal_arm64.go
signal_arm.go
signal_darwin_386.go
signal_darwin_amd64.go
signal_darwin_arm64.go
signal_darwin_arm.go
signal_darwin.go
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
signal_linux_arm.go
signal_linux_mips64x.go
signal_linux_mipsx.go
signal_linux_ppc64x.go
signal_linux_s390x.go
signal_mips64x.go
signal_mipsx.go
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
signal_openbsd_386.go
signal_openbsd_amd64.go
signal_openbsd_arm.go
signal_openbsd.go
signal_plan9.go
signal_ppc64x.go
signal_sighandler.go
signal_solaris_amd64.go
signal_solaris.go
signal_unix.go runtime, syscall: reset signal handlers to default in child 2017-06-14 14:00:56 +00:00
signal_windows.go
sigqueue_plan9.go os/signal: avoid race between Stop and receiving on channel 2017-06-24 00:54:01 +00:00
sigqueue.go os/signal: avoid race between Stop and receiving on channel 2017-06-24 00:54:01 +00:00
sigtab_linux_generic.go
sigtab_linux_mipsx.go
sizeclasses.go runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
slice.go
softfloat64_test.go
softfloat64.go
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: make TestStackGrowth a serial test 2017-07-11 18:32:56 +00:00
stack.go runtime: remove unused copies of special stack guards 2017-05-23 20:11:38 +00:00
string_test.go
string.go
stubs2.go runtime: intercept munmap as we do mmap 2017-06-06 23:26:55 +00:00
stubs32.go
stubs_android.go
stubs_asm.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: remove unused prefetch functions 2017-08-08 06:43:49 +00:00
symtab_test.go runtime: allow calling Func.Name on nil pointer 2017-06-30 23:42:03 +00:00
symtab.go runtime: mark activeModules nosplit/nowritebarrier 2017-08-05 18:05:41 +00:00
sys_arm64.go
sys_arm.go
sys_darwin_386.s
sys_darwin_amd64.s
sys_darwin_arm64.s
sys_darwin_arm.s
sys_dragonfly_amd64.s
sys_freebsd_386.s
sys_freebsd_amd64.s
sys_freebsd_arm.s
sys_linux_386.s runtime: use pselect6 for usleep on linux/386 2017-05-23 22:47:31 +00:00
sys_linux_amd64.s runtime: intercept munmap as we do mmap 2017-06-06 23:26:55 +00:00
sys_linux_arm64.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_arm.s runtime: use pselect6 for usleep on linux/amd64 and linux/arm 2017-05-19 16:05:39 +00:00
sys_linux_mips64x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_mipsx.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_ppc64x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_s390x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_mips64x.go
sys_mipsx.go
sys_nacl_386.s
sys_nacl_amd64p32.s
sys_nacl_arm.s
sys_netbsd_386.s
sys_netbsd_amd64.s
sys_netbsd_arm.s
sys_nonppc64x.go
sys_openbsd_386.s
sys_openbsd_amd64.s
sys_openbsd_arm.s
sys_plan9_386.s
sys_plan9_amd64.s
sys_plan9_arm.s runtime, syscall: in Plan 9 ARM asm, replace "SWI 0" with "SWI $0" 2017-05-16 20:01:07 +00:00
sys_ppc64x.go
sys_s390x.go
sys_solaris_amd64.s
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
syscall2_solaris.go
syscall_nacl.h runtime, unicode: use consistent banner for generated code 2017-06-13 05:33:40 +00:00
syscall_solaris.go
syscall_windows_test.go all: fix minor misspellings 2017-04-03 23:19:07 +00:00
syscall_windows.go syscall: make windows Exit call runtime.exit 2017-06-08 23:28:28 +00:00
textflag.h
time.go runtime: use next timer to decide whether to relax 2017-07-07 21:22:31 +00:00
timeasm.go
timestub.go
tls_arm64.h
tls_arm64.s
tls_arm.s runtime: prevent TLS fetching instructions from being assembled on NaCl/ARM 2017-04-08 22:51:18 +00:00
tls_mips64x.s
tls_mipsx.s
tls_ppc64x.s
tls_s390x.s
trace.go runtime: record swept and reclaimed bytes in sweep trace 2017-04-19 18:31:14 +00:00
traceback.go runtime: print pc with fp/sp in traceback 2017-06-09 17:26:56 +00:00
type.go runtime: fix file reference in comments 2017-05-29 18:35:35 +00:00
typekind.go
unaligned1.go
unaligned2.go
utf8.go
vdso_linux_amd64.go
vdso_none.go
vlop_386.s
vlop_arm_test.go
vlop_arm.s runtime: restore arm assembly stubs for div/mod 2017-06-15 03:51:03 +00:00
vlrt.go
wincallback.go
write_err_android.go
write_err.go
zcallback_windows.go
zcallback_windows.s