[dev.ssa] cmd/compile: use string contents instead of offset from string header

This generates more efficient code.

Before:

	0x003a 00058 (rr.go:7)	LEAQ	go.string.hdr."="(SB), BX
	0x0041 00065 (rr.go:7)	LEAQ	16(BX), BP
	0x0045 00069 (rr.go:7)	MOVQ	BP, 16(SP)

After:

	0x003a 00058 (rr.go:7)	LEAQ	go.string."="(SB), BX
	0x0041 00065 (rr.go:7)	MOVQ	BX, 16(SP)

It also matches the existing backend
and is more robust to other changes,
such as CL 11698, which I believe broke
the current code.

This CL fixes the encoding/base64 tests, as run with:

	GOGC=off GOSSAPKG=base64 go test -a encoding/base64

Change-Id: I3c475bed1dd3335cc14e13309e11d23f0ed32c17
Reviewed-on: https://go-review.googlesource.com/12654
Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2015-07-24 11:28:12 -07:00
parent d90e0481bf
commit 8d31df18af
5 changed files with 21 additions and 27 deletions

View file

@ -15,7 +15,7 @@ type DummyFrontend struct {
t testing.TB
}
func (DummyFrontend) StringSym(s string) interface{} {
func (DummyFrontend) StringData(s string) interface{} {
return nil
}