Resumable VM Patch update to lua51w5-rvm2
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Resumable VM Patch update to lua51w5-rvm2
- From: Mike Pall <mikelu-0503@...>
- Date: 2005年3月20日 22:44:52 +0100
Hi,
attached is a bug fix for a problem with lua_vyield() found by
Jody Belka (thanks a lot!). It's relative to the lua51w5-rvm1 patch.
The Wiki has been updated with a modified patch, too. If you want to
know more about this patch then please have a look at:
http://lua-users.org/wiki/ResumableVmPatch
Bye,
Mike
--- lua51w5-rvm1/src/ldo.c 2005年03月06日 22:57:13.000000000 +0100
+++ lua51w5-rvm2/src/ldo.c 2005年03月20日 22:00:29.499030912 +0100
@@ -474,10 +474,11 @@
}
else { /* resumable yield from C */
StkId rbase = L->base;
- if (rbase < base)
+ if (rbase < base) {
while (base < L->top)
setobjs2s(L, rbase++, base++); /* move results down */
- L->top = rbase;
+ L->top = rbase;
+ }
L->base = L->ci->base; /* restore invariant */
}
return f_continue(L, (void *)(ptrdiff_t)0); /* resume remaining frames */