lua-users home
lua-l archive

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


Just a small correction, the current list is kept in a worklist, not
the registry. Polluting the registry would be even worse than
polluting the stack! :-)

--
Fabio Mascarenhas


On Thu, Jun 17, 2010 at 3:33 PM, Fabio Mascarenhas <mascarenhas@acm.org> wrote:
> Failures do an implicit close, so opens and closes may not be 1:1. And
> it would no cause a stack leak, anyway, as the current list is kept in
> the registry instead of the stack.
>
> I think the culprits are the runtime captures. The values returned by
> a runtime capture are kept indefinitely in the stack. If there are
> nested runtime captures then these values end up being replicated.
> This behavior is inherited from regular LPEG... I am trying to think
> of a way to fix it, but it is far from trivial.
>
> --
> Fabio Mascarenhas
>
>
> On Thu, Jun 17, 2010 at 3:13 PM, Wesley Smith <wesley.hoke@gmail.com> wrote:
>> BTW, should the IOpen and IClose opcode be matched 1:1?  I'm
>> suspecting it's something in there that's exploding the Lua stack.
>> Here's the sequence I see right now:
>>
>> IOpen
>> IClose
>> IOpen
>> IOpen
>> IClose
>> IOpen
>> IClose
>> IOpen
>> IOpen
>> IClose
>> IOpen
>> IOpen
>> IOpen
>> IOpen
>> IOpen
>> IClose
>> IOpen
>> IOpen
>> IClose
>> IOpen
>> IOpen
>> IClose
>> IOpen
>> IOpen
>>
>> wes
>>
>