[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: PATCH: fixes bug with calling garbage collector from custom lua_Alloc
- From: "Bogdan Marinescu" <bogdan.marinescu@...>
- Date: Wed, 7 May 2008 10:07:38 +0300
...and the latest results (taken from Lua with the latest patch) are
attached. More tests this time (but some of them are probably too
simple to be relevant, like the Fibonacci implementations). I'm going
to remove the 'fixed' allocator from the tests (as it's clearly
inferior to the seggregated allocators), so the final battle shall
happen between dl and tlsf (they seem to be quite similar in
performance). And I also have to do some actual memory limiting tests,
all I do now is give the script an amount of memory and test if it
runs in that.
On Tue, May 6, 2008 at 1:05 PM, Robert G. Jakabosky
<bobby@sharedrealm.com> wrote:
> Updated patch 'emergency_gc-5.1.3.patch' attached. Also I have started a wiki
> page for this patch:
> http://lua-users.org/wiki/EmergencyGarbageCollector
>
> That page has a link to the latest patch and test lua_memlimit.c program.
>
>
> On Monday 05, Robert G. Jakabosky wrote:
> > On Monday 05, Bogdan Marinescu wrote:
>
> > > important to you, this is definetely the way to go. But it still has
> > > some bugs, as can be seen from the table ('factorial.lua' doesn't run
> > > in 'a' mode). According to Robert, this happens because his patch
> > > doesn't yet handle closures.
> >
> > Right now I am having a lot of problems with the upvalues for closures
> > being collected when they should be. Fixing closures will make the patch
> > much more complex.
> Closures are fixed now. 'factorial.lua' and 'sieve.lua' both work now. The
> code changes need to fix closures turned out to be much simpler then I
> though. I was just making things way to complex.
>
> This new patch adds a flag field to global_State. The flag is used to protect
> luaC_step & luaC_fullgc from recursive calls. There was going to be more
> then one flag, but it turned out they were not needed.
>
> --
> Robert G. Jakabosky
>
Attachment:
log.out
Description: Binary data