[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41357: 28.0.50; GC may miss to mark calle safe register content
From: |
Andrea Corallo |
Subject: |
bug#41357: 28.0.50; GC may miss to mark calle safe register content |
Date: |
Sun, 17 May 2020 19:46:35 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> Cc: akrl@sdf.org, bug-gnu-emacs@gnu.org
>> From: Paul Eggert <eggert@cs.ucla.edu>
>> Date: Sun, 17 May 2020 12:05:25 -0700
>>
>> On 5/17/20 10:24 AM, Eli Zaretskii wrote:
>> > I struggle to see
>> > how a Lisp object could appear in a register without leaving any trace
>> > on the stack
>>
>> Quite easily. It happens all the time. If I do something like this:
>>
>> Lisp_Object a = Fcons (b, c);
>> f (x, y);
>> return a;
>
> And where's GC in this picture?
GC can be triggered by f or any of his callee it does not matter.
> If it's called directly from 'f', can
> you show me such code in Emacs? Then we could disassembly it and see
> what we've got.
I'm not sure what we can prove disassembling, that would be just the
result of a specific .c + toolchain + invocation. I think we want to
have code that is sufficiently portable and safe because correct.
> Usually the code that calls GC is much deeper, and thus the chance of
> that temporary to stay in a register is very small, to say the least.
Probably yes, but I don't think we want to have code that works accidentally.
Andrea
--
akrl@sdf.org
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, (continued)
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Eli Zaretskii, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Andrea Corallo, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Eli Zaretskii, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Andrea Corallo, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Eli Zaretskii, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Andrea Corallo, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Paul Eggert, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Eli Zaretskii, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Paul Eggert, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Eli Zaretskii, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content,
Andrea Corallo <=
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Paul Eggert, 2020/05/17
bug#41357: 28.0.50; GC may miss to mark calle safe register content, Tom Tromey, 2020/05/24