[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: [ANN] Lua 5.4.0 (beta) now available
- From: actboy168 <actboy168@...>
- Date: Tue, 5 Nov 2019 13:41:51 +0800
Thank you for your detailed explanation.
> lua_assert(isIT(i) || (L->top = base));
> should be:
> lua_assert(isIT(i) || (L->top == base));
> I think.
Strange as it is, this is correct. See previous comment:
/* invalidate top for instructions not expecting it */
lua_assert(isIT(i) || (L->top = base));
The idea is that only opcodes marked with 'isIT' should use L->top.
To test this, all other opcodes set L->top to an "absurd" value
(base, so that it is out of the range of valid registers) to force
some error if it is used.