[M3devel] init_offset?
Tony Hosking
hosking at cs.purdue.edu
Sun Nov 7 14:22:50 CET 2010
Even if we did move stack-referenced objects we still would not need to volatilise. The assumption should always be that registers (as captured when a thread is stopped) will also be available for scanning. That's why on some targets we explicitly capture the thread registers. But it is true that we don't move stack-referenced objects.
Sent from my iPad
On 07/11/2010, at 7:41 AM, Dragiša Durić <dragisha at m3w.org> wrote:
> We don't'.
>
> Any pointer references on stack and in registers are recognized as bit patterns during collection and conservatively kept in place. (I think it is the notion used:).
>
> So, no need to "volatilize" anything explicitly.
>
> IMO :)
>
> On Nov 7, 2010, at 1:35 PM, Jay K wrote:
>
>> Should we maybe make all traced pointers volatile?
>> Or at least stores to them?
>> I know we have a compacting garbage collector.
>> If it moves a pointer.. it updates any instance of that value seen on the stack?
>> (and I know, we endeavor to "flush" registers when paused for gc, so that
>> stack suffices and no need to worry further about registers, except on NT386
>> where it is a little different, we can get/set the registers of the paused thread)
>
More information about the M3devel
mailing list