]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj: make Prog.From3 a pointer
authorRuss Cox <rsc@golang.org>
Wed, 27 May 2015 19:01:44 +0000 (15:01 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 29 May 2015 16:19:02 +0000 (16:19 +0000)
commitc413c45e6db73909ac506cb385b49b6b2cd90726
tree9502f1ce7fb817ddcaf25a8c47f2c5e694c602f1
parent80864cf1f7804e23be215245a70d70efd1116bb4
cmd/internal/obj: make Prog.From3 a pointer

It is almost never set and Addr is large, so having the full struct
in the Prog wastes memory most of the time.

Before (on a 64-bit system):

$ sizeof -p cmd/internal/obj Addr Prog
Addr 80
Prog 376
$

After:

$ sizeof -p cmd/internal/obj Addr Prog
Addr 80
Prog 304
$

Change-Id: I491f201241f87543964a7d0f48b85830759be9d0
Reviewed-on: https://go-review.googlesource.com/10457
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
25 files changed:
src/cmd/asm/internal/asm/asm.go
src/cmd/compile/internal/arm64/peep.go
src/cmd/compile/internal/gc/gsubr.go
src/cmd/compile/internal/gc/obj.go
src/cmd/compile/internal/gc/pgen.go
src/cmd/compile/internal/gc/reg.go
src/cmd/compile/internal/ppc64/peep.go
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/go.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/pass.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/util.go
src/cmd/internal/obj/x86/asm6.go
src/cmd/internal/obj/x86/obj6.go
src/cmd/old5a/a.y
src/cmd/old5a/y.go
src/cmd/old6a/a.y
src/cmd/old6a/lex.go
src/cmd/old6a/y.go
src/cmd/old8a/a.y
src/cmd/old8a/y.go
src/cmd/old9a/a.y
src/cmd/old9a/lex.go
src/cmd/old9a/y.go