projects
/
uebersetzerbau-ss10.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gesamt: vars richtig poppen!
[uebersetzerbau-ss10.git]
/
gesamt
/
code.bfe
diff --git
a/gesamt/code.bfe
b/gesamt/code.bfe
index 1c6c410014eae27dbfd9d6a9be359a16df438d07..76175ab861406e4a53d3926abe98321e77bf09f0 100644
(file)
--- a/
gesamt/code.bfe
+++ b/
gesamt/code.bfe
@@
-195,7
+195,7
@@
void make_call(struct treenode *bnode)
printf("\txchg %%%s, %d(%%rsp)\n", param_reg(j), j*8);
}
printf("\t//vars pushen\n");
printf("\txchg %%%s, %d(%%rsp)\n", param_reg(j), j*8);
}
printf("\t//vars pushen\n");
- for(j = 6; j > 6 - bnode->vars
- 1
; j--) {
+ for(j = 6; j > 6 - bnode->vars; j--) {
printf("\tpushq %%%s\n", param_reg(j));
}
printf("\tpushq %%%s\n", param_reg(j));
}
@@
-217,7
+217,7
@@
void make_call(struct treenode *bnode)
}
/* vars poppen */
}
/* vars poppen */
- for(j =
6 - bnode->vars; j < 6+1
; j++) {
+ for(j =
7 - bnode->vars; j < 7
; j++) {
printf("\tpopq %%%s\n", param_reg(j));
}
printf("\tpopq %%%s\n", param_reg(j));
}