plist trick only matters for split*

This commit is contained in:
Kyryl Melekhin
2021-08-05 23:20:44 +00:00
parent 6bd24252e1
commit a9e6720dff

10
pike.c
View File

@@ -464,6 +464,11 @@ if (--csub->ref == 0) { \
list[listidx++].pc = pc; \
goto rec_check##nn; \
} \
switch(*pc) { \
case JMP: \
pc += 2 + pc[1]; \
goto rec##nn; \
case SPLIT: \
if(plist[pc - insts] == gen) { \
dec_check##nn: \
decref(sub) \
@@ -476,11 +481,6 @@ if (--csub->ref == 0) { \
continue; \
} \
plist[pc - insts] = gen; \
switch(*pc) { \
case JMP: \
pc += 2 + pc[1]; \
goto rec##nn; \
case SPLIT: \
subs[i] = sub; \
sub->ref++; \
pc += 2; \