emacs-devel
[Top][All Lists]
Advanced

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

Re: Conservative GC isn't safe


From: Stefan Monnier
Subject: Re: Conservative GC isn't safe
Date: Mon, 28 Nov 2016 13:05:57 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

>> >> >> res = Fvector (ito - ifrom, aref_addr (string, ifrom));
>> >> > But 'string' still references the contents array of the vector, so GC
>> >> > will mark it when it comes to 'string'.
>> >> But after computing "aref_addr (string, ifrom)", it may very well be
>> >> that `string` is dead and the compiler may then decide not to write
>> >> it into the stack.
>> > It will still be there in the caller.
>> Only if the caller still needs it after the call.
>> That's usually the case, but it's not a given.
> If it is not needed after the call, it will be clobbered after the
> call, but not during the call.

Not necessarily.  Depends on details such as the argument passing convention.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]