1
0
mirror of https://github.com/golang/go synced 2024-10-01 03:28:32 -06:00

cmd/5l: reduce the size of Prog and Sym

Prog
* Remove the unused Prog* dlink
* note that align is also unused, but removing it does not help due to alignment issues.

Saves 4 bytes, sizeof(Prog): 84 => 80.

Sym
* Align {u,}char fields on word boundaries

Saves 4 bytes, sizeof(Sym): 136 => 132.

Tested on linux/arm and freebsd/arm.

R=minux.ma, remyoudompheng, rsc
CC=golang-dev
https://golang.org/cl/7106050
This commit is contained in:
Dave Cheney 2013-01-20 20:14:24 +11:00
parent 42c86828b1
commit 9b568ef2b8

View File

@ -108,7 +108,6 @@ struct Prog
} u0;
Prog* cond;
Prog* link;
Prog* dlink;
int32 pc;
int32 line;
int32 spadj;
@ -117,7 +116,7 @@ struct Prog
uchar as;
uchar scond;
uchar reg;
uchar align;
uchar align; // unused
};
#define regused u0.u0regused
@ -136,8 +135,6 @@ struct Sym
uchar reachable;
uchar dynexport;
uchar leaf;
uchar stkcheck;
uchar hide;
int32 dynid;
int32 plt;
int32 got;
@ -148,6 +145,8 @@ struct Sym
int32 elfsym;
uchar special;
uchar fnptr; // used as fn ptr
uchar stkcheck;
uchar hide;
Sym* hash; // in hash table
Sym* allsym; // in all symbol list
Sym* next; // in text or data list