go/src
Josh Bleecher Snyder 0b0cc4154e runtime: refactor walking of bucket overflows
This eliminates a nil check of b while evaluating b.tophash,
which is in the inner loop of many hot map functions.
It also makes the code a bit clearer.

Also remove some gotos in favor of labeled breaks.

On non-x86 architectures, this change introduces a pointless reg-reg move,
although the cause is well-understood (#21572).

Change-Id: Ib7ee58b59ea5463b92e1590c8b8f5c0ef87d410a
Reviewed-on: https://go-review.googlesource.com/58372
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Martin Möhrmann <moehrmann@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
2017-08-24 17:17:49 +00:00
..
archive archive/tar: support reporting and selecting the format 2017-08-24 01:35:39 +00:00
bufio
builtin
bytes bytes: add examples for TrimLeft and TrimRight 2017-08-22 21:31:54 +00:00
cmd cmd/link: set correct alignment of ELF note section 2017-08-24 16:54:18 +00:00
compress
container
context
crypto crypto/x509: skip TestSystemRoots 2017-08-22 19:54:08 +00:00
database/sql all: fix easy-to-miss typos 2017-08-23 03:07:12 +00:00
debug all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
encoding encoding/xml: improve package based on the suggestions from metalinter 2017-08-24 00:55:59 +00:00
errors
expvar
flag
fmt fmt: add Stringer example 2017-08-16 18:02:42 +00:00
go go/doc: classify function returning slice of T as constructor 2017-08-22 08:09:42 +00:00
hash
html
image
index/suffixarray
internal all: fix easy-to-miss typos 2017-08-23 03:07:12 +00:00
io io: add example for Pipe 2017-08-22 19:42:20 +00:00
log
math all: fix easy-to-miss typos 2017-08-23 03:07:12 +00:00
mime
net {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
os {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
path
plugin {net,os/user,plugin}: eliminate unnecessary C round-trips 2017-08-17 18:14:16 +00:00
reflect reflect: handle types with unexported methods before exported ones 2017-08-23 23:48:49 +00:00
regexp
runtime runtime: refactor walking of bucket overflows 2017-08-24 17:17:49 +00:00
sort
strconv strconv: check bitsize range in ParseInt and ParseUint 2017-08-22 13:37:40 +00:00
strings strings: use slice instead of list and array in Fields comment 2017-08-14 21:25:53 +00:00
sync
syscall syscall: skip some exec tests in container 2017-08-23 21:46:55 +00:00
testing testing: parallelize tests over count 2017-08-24 05:45:17 +00:00
text all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
time time: fix grammar/spelling errors in test comment 2017-08-21 17:52:45 +00:00
unicode
unsafe
vendor/golang_org/x
Make.dist
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash
make.bat
make.rc
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc