lua-users home
lua-l archive

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


Luiz Henrique de Figueiredo wrote:

We'll look into this (and other Makefile issues) carefully for Lua 5.1.

Another thing for 5.1:

The C implementation of iostring uses an external buffer, with a pointer stored in a userdata. The userdata itself is quite small. I would like to tell the garbage collector that it can recover (say) 5 megabytes if it claims a particular 5 megabyte iostring instance. Without this, common code patterns may result in a tiny Lua heap that doesn't know enough to free the monster external buffers. (I am also adding a manual f:reset() method to allow users to clean them up by hand, but that's gross.)

My first thought was to add to the API a way of code adding or subtracting from the global "amount of memory allocated" number that Lua holds. If C code added to it, it would be responsible for subtracting it at gc time.

If I could realloc a userdata, that would work for this case too.

Jay