gcc/libgo/go
Ian Lance Taylor 6ae361ae45 compiler: record pointer var values to remove write barriers
Record when a local pointer variable is set to a value such that
    indirecting through the pointer does not require a write barrier.  Use
    that to eliminate write barriers when indirecting through that local
    pointer variable.  Only keep this information per-block, so it's not
    all that applicable.
    
    This reduces the number of write barriers generated when compiling the
    runtime package from 553 to 524.
    
    The point of this is to eliminate a bad write barrier in the bytes
    function in runtime/print.go.  Mark that function nowritebarrier so
    that the problem does not recur.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191581

From-SVN: r274890
2019-08-23 22:38:58 +00:00
..
archive libgo: fix build on AIX 2019-03-19 14:00:59 +00:00
bufio
builtin
bytes
cmd cmd/go: silence ar with D flag failures 2019-06-26 00:04:36 +00:00
compress
container
context
crypto libgo: update to Go 1.12 release 2019-02-26 15:38:12 +00:00
database/sql libgo: update to Go 1.12 release 2019-02-26 15:38:12 +00:00
debug
encoding libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
errors
expvar
flag libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
fmt
go go/internal/gccgoimporter: ignore unexported and imported names 2019-06-07 00:07:50 +00:00
golang.org/x/tools
hash
html
image
index/suffixarray
internal libgo: update to Go 1.12.2 2019-04-08 18:36:25 +00:00
io
log
math libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
mime libgo: add hurd build tags 2019-02-01 21:57:36 +00:00
net libgo: update to Go 1.12.2 2019-04-08 18:36:25 +00:00
os os/user: disable TestGroupIds for AIX 2019-05-03 17:15:54 +00:00
path libgo: update to Go 1.12.1 2019-03-18 20:27:59 +00:00
plugin libgo: add hurd build tags 2019-02-01 21:57:36 +00:00
reflect compiler, runtime, reflect: generate unique type descriptors 2019-06-03 23:37:04 +00:00
regexp
runtime compiler: record pointer var values to remove write barriers 2019-08-23 22:38:58 +00:00
sort libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
strconv
strings
sync libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
syscall re PR go/90614 (gcc-9.1.0/libgo/go/syscall/wait.c:54:22: error: unused parameter ‘w’ [-Werror=unused-parameter] Continued (uint32_t *w)) 2019-05-27 00:10:34 +00:00
testdata
testing libgo: update to Go1.12rc1 2019-02-26 01:00:39 +00:00
text libgo: update to Go 1.12.1 2019-03-18 20:27:59 +00:00
time libgo: add hurd build tags 2019-02-01 21:57:36 +00:00
unicode