1
0
mirror of https://github.com/golang/go synced 2024-10-05 05:01:22 -06:00
go/src/cmd
David Chase 8107b0012f [dev.ssa] cmd/compile: use 32-bit load to read writebarrier
Avoid targeting a partial register with load;
ensure source of load (writebarrier) is aligned.

Better yet would be "CMPB $1,writebarrier" but that requires
wrestling with flagalloc (mem operand complicates moving
instruction around).

Didn't see a change in time for
   benchcmd -n 10 Build go build net/http

Verified that we clean the code up properly:
   0x20a8 <main.main+104>:	mov    0xc30a2(%rip),%eax
                            # 0xc5150 <runtime.writeBarrier>
   0x20ae <main.main+110>:	test   %al,%al

Change-Id: Id5fb8c260eaec27bd727cb0ae1476c60343b0986
Reviewed-on: https://go-review.googlesource.com/19998
Reviewed-by: Keith Randall <khr@golang.org>
2016-02-28 22:29:23 +00:00
..
addr2line
api cmd/api: fix benchmark to ignore internal packages 2016-02-20 01:58:38 +00:00
asm [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch 2016-02-23 14:42:20 -08:00
cgo all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
compile [dev.ssa] cmd/compile: use 32-bit load to read writebarrier 2016-02-28 22:29:23 +00:00
cover cmd/cover: don't overskip children nodes when adding counters 2016-02-22 21:06:57 +00:00
dist [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch 2016-02-23 14:42:20 -08:00
doc cmd/doc: handle embedded fields properly 2016-02-22 23:40:02 +00:00
fix
go all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
gofmt cmd/gofmt: Ignore file not found errors. 2016-02-19 00:13:18 +00:00
internal [dev.ssa] cmd/compile: shrink stack guard 2016-02-25 22:32:48 +00:00
link cmd/link: typo in error message 2016-02-20 20:16:17 +00:00
newlink
nm
objdump
pack
pprof cmd/pprof: fix scaling of "gigabyte" unit 2015-12-17 16:38:28 +00:00
trace
vet cmd/vet: don't crash in cgo checker if type is unknown 2016-02-03 03:34:02 +00:00
yacc cmd/yacc: memory allocation improvements 2015-11-26 17:42:14 +00:00