backward inference
This commit is contained in:
@@ -1971,7 +1971,7 @@ static int mcode_reg_items(cJSON *it, cJSON **out) {
|
||||
{ ADD(1); return c; }
|
||||
|
||||
/* invoke: [1]=frame, [2]=dest (result register) */
|
||||
if (!strcmp(op, "invoke")) { ADD(1); ADD(2); return c; }
|
||||
if (!strcmp(op, "invoke") || !strcmp(op, "tail_invoke")) { ADD(1); ADD(2); return c; }
|
||||
/* goinvoke: [1]=frame only (no result) */
|
||||
if (!strcmp(op, "goinvoke")) { ADD(1); return c; }
|
||||
|
||||
@@ -2518,7 +2518,7 @@ static MachCode *mcode_lower_func(cJSON *fobj, const char *filename) {
|
||||
else if (strcmp(op, "setarg") == 0) {
|
||||
EM(MACH_ABC(MACH_SETARG, A1, A2, A3));
|
||||
}
|
||||
else if (strcmp(op, "invoke") == 0) {
|
||||
else if (strcmp(op, "invoke") == 0 || strcmp(op, "tail_invoke") == 0) {
|
||||
EM(MACH_ABC(MACH_INVOKE, A1, A2, 0));
|
||||
}
|
||||
else if (strcmp(op, "goframe") == 0) {
|
||||
|
||||
Reference in New Issue
Block a user