lua-users home
lua-l archive

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


2015-03-13 6:43 GMT+02:00 Paul K <paul@zerobrane.com>:
> Hi Tim,
>
>> The compiler clearly knows if it’s emitting a function with _ENV as the
>> first upvalue, since it takes care to ensure it is always the first upvalue
>> in the function. However, this information doesnt seem to make it into the
>> compiled chunk anywhere (that I can see).
>
> You may try to avoid this problem by serializing a special value instead of
> _ENV. When you serialize the upvalues, you know if the first one points to
> the _ENV for the given function, so just store a special table value for it,
> so that when you deserialize it to setup proper value, you know that this
> function expects _ENV as the first upvalue, so you can do whatever is
> appropriate in this case.