reduce memory usage (again)
This commit is contained in:
parent
0539581d5d
commit
977d93dc67
3 changed files with 5 additions and 9 deletions
|
@ -70,7 +70,6 @@ typedef union {
|
||||||
|
|
||||||
struct line {
|
struct line {
|
||||||
line_p l_next; /* maintains linked list */
|
line_p l_next; /* maintains linked list */
|
||||||
line_p l_prev; /* for back referencing loc's */
|
|
||||||
byte l_instr; /* instruction number */
|
byte l_instr; /* instruction number */
|
||||||
byte l_optyp; /* specifies what follows */
|
byte l_optyp; /* specifies what follows */
|
||||||
un_l_a l_a;
|
un_l_a l_a;
|
||||||
|
|
|
@ -191,14 +191,14 @@ symvalue() {
|
||||||
|
|
||||||
do_tes()
|
do_tes()
|
||||||
{
|
{
|
||||||
register line_p insptr = instrs, oldlin = NULL;
|
register line_p insptr = instrs, oldlin = NULL, oldlin2 = NULL;
|
||||||
|
|
||||||
init_state();
|
init_state();
|
||||||
tes_pseudos();
|
tes_pseudos();
|
||||||
while (insptr != NULL) {
|
while (insptr != NULL) {
|
||||||
insptr->l_prev = oldlin;
|
tes_instr(insptr, oldlin, oldlin2);
|
||||||
|
oldlin2 = oldlin;
|
||||||
oldlin = insptr;
|
oldlin = insptr;
|
||||||
tes_instr(insptr);
|
|
||||||
insptr = insptr->l_next;
|
insptr = insptr->l_next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ extern char flow_tab[];
|
||||||
|
|
||||||
#define INSTR(lnp) (lnp->l_instr & BMASK)
|
#define INSTR(lnp) (lnp->l_instr & BMASK)
|
||||||
#define TYPE(lnp) lnp->l_optyp
|
#define TYPE(lnp) lnp->l_optyp
|
||||||
#define PREV(lnp) lnp->l_prev
|
|
||||||
#define SHORT(lnp) lnp->l_a.la_short
|
#define SHORT(lnp) lnp->l_a.la_short
|
||||||
#define MINI(lnp) ((lnp->l_optyp & BMASK) - Z_OPMINI)
|
#define MINI(lnp) ((lnp->l_optyp & BMASK) - Z_OPMINI)
|
||||||
|
|
||||||
|
@ -69,14 +68,12 @@ tes_pseudos()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tes_instr(lnp)
|
tes_instr(lnp, x, y)
|
||||||
line_p lnp;
|
line_p lnp, x, y;
|
||||||
{
|
{
|
||||||
char *s;
|
char *s;
|
||||||
register instr = INSTR(lnp);
|
register instr = INSTR(lnp);
|
||||||
register int arg, argdef;
|
register int arg, argdef;
|
||||||
line_p x = PREV(lnp);
|
|
||||||
line_p y = (x == (line_p) 0 ? (line_p) 0 : PREV(x));
|
|
||||||
int neg = 0;
|
int neg = 0;
|
||||||
|
|
||||||
if (instr == op_lab) {
|
if (instr == op_lab) {
|
||||||
|
|
Loading…
Reference in a new issue