mirror of
https://github.com/golang/go
synced 2024-11-22 21:30:02 -07:00
move tiny gsubr functions together at the top of the file.
delete unused mkenam file R=ken OCL=26940 CL=26940
This commit is contained in:
parent
4e84174816
commit
b199035ba8
@ -116,6 +116,81 @@ newplist(void)
|
||||
return pl;
|
||||
}
|
||||
|
||||
void
|
||||
gused(Node *n)
|
||||
{
|
||||
gins(ANOP, n, N); // used
|
||||
}
|
||||
|
||||
Prog*
|
||||
gjmp(Prog *to)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gbranch(AJMP, T);
|
||||
if(to != P)
|
||||
patch(p, to);
|
||||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
ggloblnod(Node *nam, int32 width)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gins(AGLOBL, nam, N);
|
||||
p->lineno = nam->lineno;
|
||||
p->to.sym = S;
|
||||
p->to.type = D_CONST;
|
||||
p->to.offset = width;
|
||||
}
|
||||
|
||||
void
|
||||
ggloblsym(Sym *s, int32 width, int dupok)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gins(AGLOBL, N, N);
|
||||
p->from.type = D_EXTERN;
|
||||
if(s == symstringo)
|
||||
p->from.type = D_STATIC;
|
||||
p->from.index = D_NONE;
|
||||
p->from.sym = s;
|
||||
p->to.type = D_CONST;
|
||||
p->to.index = D_NONE;
|
||||
p->to.offset = width;
|
||||
if(dupok)
|
||||
p->from.scale = DUPOK;
|
||||
}
|
||||
|
||||
int
|
||||
isfat(Type *t)
|
||||
{
|
||||
if(t != T)
|
||||
switch(t->etype) {
|
||||
case TSTRUCT:
|
||||
case TARRAY:
|
||||
case TINTER: // maybe remove later
|
||||
case TDDD: // maybe remove later
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* naddr of func generates code for address of func.
|
||||
* if using opcode that can take address implicitly,
|
||||
* call afunclit to fix up the argument.
|
||||
*/
|
||||
void
|
||||
afunclit(Addr *a)
|
||||
{
|
||||
if(a->type == D_ADDR && a->index == D_EXTERN) {
|
||||
a->type = D_EXTERN;
|
||||
a->index = D_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
static int resvd[] =
|
||||
{
|
||||
// D_DI, // for movstring
|
||||
@ -1121,20 +1196,6 @@ naddr(Node *n, Addr *a)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* naddr of func generates code for address of func.
|
||||
* if using opcode that can take address implicitly,
|
||||
* call afunclit to fix up the argument.
|
||||
*/
|
||||
void
|
||||
afunclit(Addr *a)
|
||||
{
|
||||
if(a->type == D_ADDR && a->index == D_EXTERN) {
|
||||
a->type = D_EXTERN;
|
||||
a->index = D_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* return Axxx for Oxxx on type t.
|
||||
*/
|
||||
@ -1664,20 +1725,6 @@ optoas(int op, Type *t)
|
||||
return a;
|
||||
}
|
||||
|
||||
int
|
||||
isfat(Type *t)
|
||||
{
|
||||
if(t != T)
|
||||
switch(t->etype) {
|
||||
case TSTRUCT:
|
||||
case TARRAY:
|
||||
case TINTER: // maybe remove later
|
||||
case TDDD: // maybe remove later
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
ODynam = 1<<0,
|
||||
@ -1927,50 +1974,3 @@ no:
|
||||
sudoclean();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
gused(Node *n)
|
||||
{
|
||||
gins(ANOP, n, N); // used
|
||||
}
|
||||
|
||||
Prog*
|
||||
gjmp(Prog *to)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gbranch(AJMP, T);
|
||||
if(to != P)
|
||||
patch(p, to);
|
||||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
ggloblnod(Node *nam, int32 width)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gins(AGLOBL, nam, N);
|
||||
p->lineno = nam->lineno;
|
||||
p->to.sym = S;
|
||||
p->to.type = D_CONST;
|
||||
p->to.offset = width;
|
||||
}
|
||||
|
||||
void
|
||||
ggloblsym(Sym *s, int32 width, int dupok)
|
||||
{
|
||||
Prog *p;
|
||||
|
||||
p = gins(AGLOBL, N, N);
|
||||
p->from.type = D_EXTERN;
|
||||
if(s == symstringo)
|
||||
p->from.type = D_STATIC;
|
||||
p->from.index = D_NONE;
|
||||
p->from.sym = s;
|
||||
p->to.type = D_CONST;
|
||||
p->to.index = D_NONE;
|
||||
p->to.offset = width;
|
||||
if(dupok)
|
||||
p->from.scale = DUPOK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user