[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] Lua 5.3.0 (alpha) now available
- From: Coda Highland <chighland@...>
- Date: Fri, 1 Aug 2014 12:30:49 -0700
On Fri, Aug 1, 2014 at 12:28 PM, Coroutines <coroutines@gmail.com> wrote:
> On Fri, Aug 1, 2014 at 12:25 PM, Coda Highland <chighland@gmail.com> wrote:
>> On Fri, Aug 1, 2014 at 12:16 PM, Thiago L. <fakedme@gmail.com> wrote:
>>>
>>> On 01/08/14 04:13 PM, Coda Highland wrote:
>
>> I have no idea if this would actually work or not, but it's the kind
>> of thing I'm talking about. O(1) behavior for the clear() operation
>> itself, and the GC goes about its business the normal way.
>
> In Lua we invisibly deal with a reference to the table. What he's
> saying is Lua could internally create a separate table and pair up the
> reference we use with the new table it constructed, and "forget" the
> old one with the GC. My only issue is I'd want to new table to
> "inherit" the metatable of the old one. This would be quite fast
> otherwise... I'm not familiar with the C object used for representing
> tables so I'm hoping that code he wrote is accurate. :-)
I'm not familiar with it either, I just looked at lobject.h and
guessed. :P But if the code I wrote DOES work, then it would leave the
metatable intact because that's a separate pointer inside the struct.
/s/ Adam