use a new struct for symbols
Symbols are a useful abstraction that occurs in both Con and Alias. In this patch they get their own struct. This new struct packages a symbol name and a type; the type tells us where the symbol name must be interpreted (currently, in gobal memory or in thread-local storage). The refactor fixed a bug in addcon(), proving the value of packaging symbol names with their type.
This commit is contained in:
parent
04e2640901
commit
cbee74bdb4
12 changed files with 68 additions and 58 deletions
|
@ -46,7 +46,7 @@ fixarg(Ref *r, int k, Ins *i, Fn *fn)
|
|||
c = &fn->con[fn->ncon-1];
|
||||
sprintf(buf, "\"%sfp%d\"", T.asloc, n);
|
||||
*c = (Con){.type = CAddr};
|
||||
c->label = intern(buf);
|
||||
c->sym.id = intern(buf);
|
||||
emit(Oload, k, r1, CON(c-fn->con), R);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue