GNU bug report logs -
#41357
28.0.50; GC may miss to mark calle safe register content
Previous Next
Reported by: Andrea Corallo <akrl <at> sdf.org>
Date: Sun, 17 May 2020 12:43:02 UTC
Severity: normal
Found in version 28.0.50
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
> From: Andrea Corallo <akrl <at> sdf.org>
> Cc: Paul Eggert <eggert <at> cs.ucla.edu>, Eli Zaretskii <eliz <at> gnu.org>
> Date: Sun, 17 May 2020 12:42:48 +0000
>
> What is going on is that in a .eln in a function A a Lisp_Object is
> hold in a register (r14). Function A is calling other functions into
> emacs-core till Garbage Collection is triggered.
>
> Being emacs-core compiled with -O0 GCC is not selecting any callee safe
> register and therefore these gets never pushed.
Isn't this something for the infrastructure of calling
natively-compiled Lisp to solve? The Emacs C code isn't prepared for
calling optimized C code when it calls Lisp, and I don't think it's
right for us to assume that, because it will make Emacs slower. If
the natively-compiled Lisp needs some setup to be compatible with GC,
I think the calling framework should set that up.
This bug report was last modified 5 years and 75 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.