diff options
| author | Russ Cox <rsc@golang.org> | 2015-03-16 15:54:44 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2015-03-20 04:47:08 +0000 |
| commit | 532ccae1547580e572cf5cd0f687f4508ceeddb9 (patch) | |
| tree | 0bf2149cc9ed14425e7cc6f83dd597372597aad2 /src/cmd/internal/obj/arm64 | |
| parent | 631d6a33bf2889c5c648555ab993687a48f9c287 (diff) | |
| download | go-532ccae1547580e572cf5cd0f687f4508ceeddb9.tar.xz | |
cmd/internal/obj: replace Addr.U struct {...} with Val interface{}
An interface{} is more in the spirit of the original union.
By my calculations, on 64-bit systems this reduces
Addr from 120 to 80 bytes, and Prog from 592 to 424 bytes.
Change-Id: I0d7b0981513c2a3c94c9ac76bb4f8816485b5a3c
Reviewed-on: https://go-review.googlesource.com/7744
Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/cmd/internal/obj/arm64')
| -rw-r--r-- | src/cmd/internal/obj/arm64/asm7.go | 2 | ||||
| -rw-r--r-- | src/cmd/internal/obj/arm64/obj7.go | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/internal/obj/arm64/asm7.go b/src/cmd/internal/obj/arm64/asm7.go index ba56f82df0..d8f39fe405 100644 --- a/src/cmd/internal/obj/arm64/asm7.go +++ b/src/cmd/internal/obj/arm64/asm7.go @@ -2625,7 +2625,7 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) { var rf int if p.From.Type == obj.TYPE_CONST { - rf = chipfloat7(ctxt, p.From.U.Dval) + rf = chipfloat7(ctxt, p.From.Val.(float64)) if rf < 0 || true { ctxt.Diag("invalid floating-point immediate\n%v", p) rf = 0 diff --git a/src/cmd/internal/obj/arm64/obj7.go b/src/cmd/internal/obj/arm64/obj7.go index 0b92cfcaf1..dfba86ccb9 100644 --- a/src/cmd/internal/obj/arm64/obj7.go +++ b/src/cmd/internal/obj/arm64/obj7.go @@ -240,7 +240,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog) { switch p.As { case AFMOVS: if p.From.Type == obj.TYPE_FCONST { - f32 := float32(p.From.U.Dval) + f32 := float32(p.From.Val.(float64)) i32 := math.Float32bits(f32) literal := fmt.Sprintf("$f32.%08x", uint32(i32)) s := obj.Linklookup(ctxt, literal, 0) @@ -253,7 +253,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog) { case AFMOVD: if p.From.Type == obj.TYPE_FCONST { - i64 := math.Float64bits(p.From.U.Dval) + i64 := math.Float64bits(p.From.Val.(float64)) literal := fmt.Sprintf("$f64.%016x", uint64(i64)) s := obj.Linklookup(ctxt, literal, 0) s.Size = 8 @@ -480,7 +480,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) { textstksiz := p.To.Offset aoffset := int32(textstksiz) - cursym.Args = p.To.U.Argsize + cursym.Args = p.To.Val.(int32) cursym.Locals = int32(textstksiz) /* |
