Removed tail-call optimizations with JSR JMP2r
This commit is contained in:
parent
57dfcdf717
commit
58bf463c40
|
@ -217,14 +217,12 @@ writeopcode(char *w)
|
||||||
{
|
{
|
||||||
Uint8 res;
|
Uint8 res;
|
||||||
if(jsrlast && scmp(w, "JMP2r", 5)) { /* tail-call optimization */
|
if(jsrlast && scmp(w, "JMP2r", 5)) { /* tail-call optimization */
|
||||||
p.data[p.ptr - 1] = jsrlast == 2 ? findopcode("JMP2") : findopcode("JMP");
|
p.data[p.ptr - 1] = findopcode("JMP2");
|
||||||
jsrlast = 0;
|
jsrlast = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
res = writebyte(findopcode(w));
|
res = writebyte(findopcode(w));
|
||||||
if(scmp(w, "JSR2", 4))
|
if(scmp(w, "JSR2", 4))
|
||||||
jsrlast = 2;
|
|
||||||
else if(scmp(w, "JSR", 3))
|
|
||||||
jsrlast = 1;
|
jsrlast = 1;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue