Removed tail-call optimizations with JSR JMP2r

This commit is contained in:
Devine Lu Linvega 2022-08-06 10:25:34 -07:00
parent 57dfcdf717
commit 58bf463c40
1 changed files with 1 additions and 3 deletions

View File

@ -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;
} }