Subject: bug#9900: local vars not cleaned

From: [email-masked] (Ludovic Courtès)
Date: Tue, 01 Nov 2011 01:20:34 +0100

Hi Stefan,

Stefan Israelsson Tampe <[email-masked]> skribis:

> A program is executed and a set of locals is allocated on the stack for the
> duration of the loading, this means that during the
> whole execution of the loaded file the locals variables are below the stack
> pointer and hence always contains a reference from the stack to the last
> used objects in the local variables.

Normally the GC will only scan the relevant part of the VM stack–see
‘VM_ENABLE_PRECISE_STACK_GC_SCAN’ in vm.c.  If you think this is not
working as advertised, can you add a breakpoint in ‘vm_stack_mark’ and
see what happens?

To check your hypothesis you could also define ‘VM_ENABLE_STACK_NULLING’
in vm.c.

TIA! :-)

Ludo’.