[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 17:13:26 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Andrea Corallo <akrl@sdf.org>
>> Cc: bug-gnu-emacs@gnu.org, eggert@cs.ucla.edu
>> Date: Sun, 17 May 2020 16:40:09 +0000
>>
>> I think this is a real bug that we have in the codebase (emacs-27
>> included).
>
> Maybe it's so, but your explanation makes sense only in the context of
> calling a machine-language function. When we call Lisp or bytecode,
> the machine-level operation is very different, and I cannot easily
> correlate your description of using registers with what happens when
> we call Lisp or bytecode. Sorry for my misunderstanding.
That is correct, but I don't think we need bytecode to come into play
here to have the problem.
If a C function caller of 'flush_stack_call_func' allocates a
Lisp_Object in a temp variable and the compiler decide to keep this in a
callee saved reg while 'flush_stack_call_func' is called this will be
garbage collected unexpectedly.
Am I wrong?
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, Paul Eggert, 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 <=
- 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, 2020/05/17
- bug#41357: 28.0.50; GC may miss to mark calle safe register content, Paul Eggert, 2020/05/17