lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Mar 21, 2016, at 17:12, Coda Highland <chighland@gmail.com> wrote:

> On Mon, Mar 21, 2016 at 9:10 AM, Scott Morgan <blumf@blueyonder.co.uk> wrote:
>> On 21/03/16 15:59, Dirk Laurie wrote:
>>> 2016-03-21 16:32 GMT+02:00 Wangbo <wangbo.red@gmail.com>:
>>>> I have simple Lua code, why have two RETURN opcode for foo function after i
>>>> check compile code.
>>>> 
>>> 
>>>> 6 [4] RETURN   1 2
>>>> 7 [5] RETURN   0 1
>>> 
>>> Checking all code paths to make sure that the `end` statement
>>> cannot be reached would make the compiler more complicated.
>>> 
>> 
>> Is this an overhead of supporting gotos?
>> 
>> Scott
> 
> Considering this is bytecode and everything from loops to conditionals
> are implemented as jumps? You could say that. But it's not
> specifically tied to the "goto" language feature; it would still be
> relevant even if you couldn't use "goto" in Lua code.

IIRC older Lua versions indeed already simply did this too.
At least I remember seeing this in 5.1 which did not yet had gotos, …

	René

-- 
 ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
 DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE251602478
 Managing Director: René Rebe
 http://exactcode.com | http://exactscan.com | http://ocrkit.com | http://t2-project.org | http://rene.rebe.de