projects
/
uebersetzerbau-ss10.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ppc: fixed stack fail und ein kleines clean up
[uebersetzerbau-ss10.git]
/
gesamt_ppc
/
code.bfe
diff --git
a/gesamt_ppc/code.bfe
b/gesamt_ppc/code.bfe
index ea5636519ca218fc08360cc97de80dd58ecac3c1..97dc26946b5bf724e4ac394240e6ea599645fe04 100644
(file)
--- a/
gesamt_ppc/code.bfe
+++ b/
gesamt_ppc/code.bfe
@@
-223,7
+223,7
@@
void make_call(struct treenode *bnode)
printf("\tmr %s,20\n", param_reg(j));
}
printf("\t#vars pushen\n");
printf("\tmr %s,20\n", param_reg(j));
}
printf("\t#vars pushen\n");
- for(j =
VARBEGIN; j > VARBEGIN - bnode->vars; j--
) {
+ for(j =
bnode->soffset; j < bnode->soffset + bnode->vars; j++
) {
printf("\tstw %s,%d(1)\n", param_reg(j), j*4);
}
printf("\tstw %s,%d(1)\n", param_reg(j), j*4);
}
@@
-254,7
+254,7
@@
void make_call(struct treenode *bnode)
}
printf("\t#vars poppen\n");
}
printf("\t#vars poppen\n");
- for(j =
VARBEGIN+1 - bnode->vars; j < VARBEGIN+1; j++
) {
+ for(j =
bnode->soffset + bnode->vars - 1; j > bnode->soffset - 1; j--
) {
printf("\tlwz %s,%d(1)\n", param_reg(j), j*4);
}
printf("\tlwz %s,%d(1)\n", param_reg(j), j*4);
}