SCI: Revert r47929 (bad idea, as we may run out of offsets). Instead, adapt SCI32 list iteration code to store node successor before invoking.

svn-id: r48036
This commit is contained in:
Walter van Niftrik 2010-02-12 02:23:28 +00:00
parent 7eb92eb1cd
commit a3a07f19fc
2 changed files with 12 additions and 31 deletions

View file

@ -621,16 +621,8 @@ static void callKernelFunc(EngineState *s, int kernelFuncNum, int argc) {
static void gc_countdown(EngineState *s) {
if (s->gc_countdown-- <= 0) {
// Only run garbage collection when execution stack base
// is zero, as it cannot count references inside kernel
// functions
if (s->execution_stack_base == 0) {
s->gc_countdown = script_gc_interval;
run_gc(s);
} else {
// Try again later
s->gc_countdown = 1;
}
s->gc_countdown = script_gc_interval;
run_gc(s);
}
}