> Is it possible to consider an implementation where L->top is strictly
> the top of the stack, and not used for a dual purpose? Or am I missing
> a point here?
Can you suggest how to do such implementation?
Maybe we can offer two api:
luaD_posCcall and luaD_posLcall .
Only in case OP_RETURN, we should call luaD_posLcall , and
ci = L->ci;
if (b) L->top = ci->top;
can be done in luaD_posLcall . So that the L->top can be strictly the top of the stack.