1
0
mirror of https://github.com/golang/go synced 2024-11-12 08:10:21 -07:00
go/src
Lynn Boger e945623930 runtime: improve CALLFN macro for ppc64x
The previous CALLFN macro was copying a single byte at a
time which is extremely inefficient on ppc64x. This changes
the macro so it copies 8 bytes at a time.

benchmark in reflect:
name                      old time/op    new time/op    delta
Call-8                       177ns ± 0%     165ns ± 0%    -6.78%  (p=1.000 n=1+1)
CallArgCopy/size=128-8       194ns ± 0%     140ns ± 0%   -27.84%  (p=1.000 n=1+1)
CallArgCopy/size=256-8       253ns ± 0%     159ns ± 0%   -37.15%  (p=1.000 n=1+1)
CallArgCopy/size=1024-8      612ns ± 0%     222ns ± 0%   -63.73%  (p=1.000 n=1+1)
CallArgCopy/size=4096-8     2.14µs ± 0%    0.53µs ± 0%   -75.01%  (p=1.000 n=1+1)
CallArgCopy/size=65536-8    33.0µs ± 0%     7.3µs ± 0%   -77.72%  (p=1.000 n=1+1)

Change-Id: I71f6ee788264e61bb072264d21b77b83592c9dca
Reviewed-on: https://go-review.googlesource.com/134635
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Reviewed-by: Michael Munday <mike.munday@ibm.com>
2018-09-25 18:52:22 +00:00
..
archive archive/tar: remore redundant parens in type expressions 2018-08-21 01:47:17 +00:00
bufio bufio: avoid rescanning buffer multiple times in ReadSlice 2018-08-22 17:06:28 +00:00
builtin builtin: document when len and cap are constant 2018-09-18 21:52:11 +00:00
bytes strings, bytes: optimize function Index 2018-09-13 16:21:55 +00:00
cmd cmd/go: skip some tests that don't work with gccgo 2018-09-25 18:39:34 +00:00
compress compress: reduce copies of new text for compression testing 2018-09-24 18:26:02 +00:00
container container/heap: clarify that Remove returns the removed element 2018-08-20 18:05:11 +00:00
context context: don't talk about tools that don't exist 2018-08-22 22:11:24 +00:00
crypto crypto/x509: allow ":" in Common Name hostnames 2018-09-07 17:28:27 +00:00
database/sql database/sql: fix Rows.Columns() documentation 2018-09-03 16:28:42 +00:00
debug debug/elf: add R_RISCV_32_PCREL relocation 2018-09-07 11:07:39 +00:00
encoding encoding/json: use panics for phase errors 2018-09-12 07:50:10 +00:00
errors
expvar expvar: fix name of Var interface 2018-09-06 05:43:52 +00:00
flag
fmt fmt: unify the printing examples 2018-09-24 21:15:52 +00:00
go go/types: don't report cycle error if clearer error follows 2018-09-17 23:08:56 +00:00
hash hash/crc64: lazily initialize slice8Tables 2018-08-21 04:50:21 +00:00
html html/template: add an example for the Delims method 2018-08-30 19:36:15 +00:00
image image: avoid sharing test images between tests and benchmarks 2018-09-25 16:07:59 +00:00
index/suffixarray
internal internal/poll: improve Splice comments 2018-09-16 03:22:13 +00:00
io ghchinoy: add example for ioutil.WriteFile 2018-08-30 18:38:34 +00:00
log
math cmd/compile: optimize math.Float64(32)bits and math.Float64(32)frombits on arm64 2018-09-17 20:49:04 +00:00
mime mime: derestrict value backslash unescaping for all encodings 2018-09-24 16:13:59 +00:00
net compress: reduce copies of new text for compression testing 2018-09-24 18:26:02 +00:00
os os/user: note in doc that user.Current is being cached 2018-09-25 17:10:46 +00:00
path path/filepath: correct symlink eval for symlink at root 2018-09-13 21:34:56 +00:00
plugin plugin: remove unused func 2018-08-22 16:29:03 +00:00
reflect reflect: use a bigger object when we need a finalizer to run 2018-08-24 22:17:54 +00:00
regexp regexp: fix incorrect name in Match doc comment 2018-09-13 16:29:06 +00:00
runtime runtime: improve CALLFN macro for ppc64x 2018-09-25 18:52:22 +00:00
sort
strconv strconv: add example for IsGraphic 2018-09-03 05:45:52 +00:00
strings strings, bytes: optimize function Index 2018-09-13 16:21:55 +00:00
sync cmd/vet,sync: check lock values more precisely 2018-07-14 06:48:21 +00:00
syscall syscall: replace lstat, lchown, stat to please Android O 2018-09-24 17:08:51 +00:00
testdata compress: reduce copies of new text for compression testing 2018-09-24 18:26:02 +00:00
testing testing: exit with error if testing.Short is called before flag.Parse 2018-08-20 21:51:11 +00:00
text text/template: simplify line tracking in the lexer 2018-09-05 21:27:04 +00:00
time time: return ENOENT from androidLoadTzinfoFromTzdata if zone not found 2018-09-15 14:58:35 +00:00
unicode
unsafe
vendor/golang_org/x vendor: update golang.org/x/net/http2/hpack 2018-08-01 20:05:31 +00:00
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash cmd/go: add $GOFLAGS environment variable 2018-08-01 00:35:21 +00:00
make.bat src/make.bat: add missing go.exe extension 2018-08-25 22:42:46 +00:00
Make.dist
make.rc cmd/go: add $GOFLAGS environment variable 2018-08-01 00:35:21 +00:00
naclmake.bash all: use consistent shebang line across all shell scripts 2018-08-22 16:41:11 +00:00
nacltest.bash all: use consistent shebang line across all shell scripts 2018-08-22 16:41:11 +00:00
race.bash runtime/cgo: Add initial NetBSD Thread Sanitizer support 2018-07-10 23:14:31 +00:00
race.bat cmd/dist: fix compilation on windows 2018-08-25 22:39:17 +00:00
run.bash cmd/go: add $GOFLAGS environment variable 2018-08-01 00:35:21 +00:00
run.bat cmd/go: add $GOFLAGS environment variable 2018-08-01 00:35:21 +00:00
run.rc cmd/go: add $GOFLAGS environment variable 2018-08-01 00:35:21 +00:00