go/src
Josh Bleecher Snyder 165a96e281 cmd/compile: fix pos of typenames created during SSA construction
Prior to this CL, the function's position was used.
The dottype Node's position is clearly better.

I'm not thrilled about introducing a reference to
lineno in the middle of SSA construction;
I will have to remove it later.
My immediate goal is stability and correctness of positions,
though, since that aids refactoring, so this is an improvement.

An example from package io:

func (t *multiWriter) WriteString(s string) (n int, err error) {
	var p []byte // lazily initialized if/when needed
	for _, w := range t.writers {
		if sw, ok := w.(stringWriter); ok {
			n, err = sw.WriteString(s)

The w.(stringWriter) type assertion includes loading
the address of static type data for stringWriter:

LEAQ	type."".stringWriter(SB), R10

Prior to this CL, this instruction was given the line number
of the function declaration.
After this CL, this instruction is given the line number
of the type assertion itself.

Change-Id: Ifcca274b581a5a57d7e3102c4d7b7786bf307210
Reviewed-on: https://go-review.googlesource.com/38389
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-03-21 04:14:26 +00:00
..
archive archive/zip: parallelize benchmarks 2017-03-15 18:26:51 +00:00
bufio
builtin
bytes bytes: make bytes.Buffer cache-friendly 2017-02-28 05:19:38 +00:00
cmd cmd/compile: fix pos of typenames created during SSA construction 2017-03-21 04:14:26 +00:00
compress Revert "all: test adjustments for the iOS builder" 2017-03-04 00:01:14 +00:00
container
context context: document that Err is unspecified before Done 2017-02-22 17:42:28 +00:00
crypto crypto/*: fix spelling of 'below' 2017-03-20 16:03:18 +00:00
database/sql database/sql: fix spelling mistake in tests 2017-03-08 18:27:19 +00:00
debug cmd/link: write dwarf sections 2017-03-01 04:51:03 +00:00
encoding encoding/gob: document the extra byte after a singleton 2017-03-21 04:07:46 +00:00
errors
expvar expvar: add benchmark for (*Map).Set with per-goroutine keys 2017-03-10 19:09:48 +00:00
flag
fmt fmt: add short note about %g precision 2017-02-21 19:02:43 +00:00
go go/build: remove unused returnImports parameter 2017-03-21 02:47:36 +00:00
hash hash/crc32: improve performance for ppc64le 2017-03-17 12:28:57 +00:00
html text/template,html/template: state that Funcs must happen before parsing 2017-03-21 04:07:35 +00:00
image image/png: decode Gray8 transparent images. 2017-03-17 07:50:05 +00:00
index/suffixarray
internal go/internal/srcimporter: skip tests on iOS 2017-03-08 22:31:00 +00:00
io
log
math math/big: make nat.setUint64 vet-friendly 2017-03-11 00:39:23 +00:00
mime mime: handling invalid mime media parameters 2017-03-17 13:59:31 +00:00
net net/http: fix ProxyFromEnvironment panic on invalid $NO_PROXY value 2017-03-21 01:16:37 +00:00
os os/user: fake Current on Android 2017-03-08 21:34:32 +00:00
path path/filepath: add test for directory junction walk 2017-02-12 23:33:01 +00:00
plugin plugin: remove unnecessary import "C" from example 2017-02-09 18:32:53 +00:00
reflect reflect: fix bucketOf to only look at ptrdata entries in gcdata 2017-02-22 02:19:48 +00:00
regexp regexp/syntax: remove unused flags parameter 2017-03-06 19:11:09 +00:00
runtime runtime: clear signal stack on main thread 2017-03-20 22:59:26 +00:00
sort sort: new example: Sorting slices with sort.SliceStable 2017-02-22 21:23:12 +00:00
strconv strconv: replace small int string table with constant string 2017-03-17 20:33:46 +00:00
strings strings: fix handling of invalid UTF-8 sequences in Map 2017-02-28 22:50:53 +00:00
sync sync/atomic: fix mipsx frame sizes 2017-02-21 18:42:47 +00:00
syscall syscall: fix linux/mipsx ret value FP offsets for Syscall9 2017-02-21 18:43:02 +00:00
testing testing: fix Benchmark() to start at 1 iteration, not 100 2017-03-01 11:06:34 +00:00
text text/template,html/template: state that Funcs must happen before parsing 2017-03-21 04:07:35 +00:00
time time: make the ParseInLocation test more robust 2017-03-09 18:31:42 +00:00
unicode
unsafe
vendor/golang_org/x vendor: import golang.org/x/net/proxy 2017-03-02 01:28:16 +00:00
Make.dist
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash src/*.bash: use tabs consistently 2017-03-09 21:30:31 +00:00
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash *.bash: always use the same string equality operator 2017-03-14 21:46:31 +00:00
make.bash *.bash: always use the same string equality operator 2017-03-14 21:46:31 +00:00
make.bat
make.rc
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash *.bash: always use the same string equality operator 2017-03-14 21:46:31 +00:00
run.bat
run.rc