mirror of
https://github.com/golang/go
synced 2024-10-07 03:21:21 -06:00
54e8d504e8
Fixes #4396. For fixed arrays larger than the unmapped page, agenr would general a nil check by loading the first word of the array. However there is no requirement for the first element of a byte array to be word aligned, so this check causes a trap on ARMv5 hardware (ARMv6 since relaxed that restriction, but it probably still comes at a cost). Switching the check to MOVB ensures alignment is not an issue. This check is only invoked in a few places in the code where large fixed arrays are embedded into structs, compress/lzw is the biggest offender, and switching to MOVB has no observable performance penalty. Thanks to Rémy and Daniel Morsing for helping me debug this on IRC last night. R=remyoudompheng, minux.ma, rsc CC=golang-dev https://golang.org/cl/6854063 |
||
---|---|---|
.. | ||
cmd | ||
lib9 | ||
libbio | ||
libmach | ||
pkg | ||
all.bash | ||
all.bat | ||
all.rc | ||
clean.bash | ||
clean.bat | ||
clean.rc | ||
make.bash | ||
make.bat | ||
Make.dist | ||
make.rc | ||
run.bash | ||
run.bat | ||
run.rc | ||
sudo.bash |