plist trick only matters for split*
This commit is contained in:
10
pike.c
10
pike.c
@@ -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; \
|
||||
|
||||
Reference in New Issue
Block a user