Commit 9b568ef2 authored by Dave Cheney's avatar Dave Cheney

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
parent 42c86828
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment