Subject: Re: bug#67141: 30.0.50; Missing element in the backtrace

From: Andrea Corallo <[email-masked]>
Date: Mon, 20 Nov 2023 03:55:40 -0500

Stefan Monnier <[email-masked]> writes:

>>> It impacts debugging and profiling, in my experience.
>> I see, the outcome for me is that we should offer a way for the user to
>> force the use of funcall.  Unfortunatelly ATM if one writes like
>> (funcall 'eval ...) it gets optimized.  Maybe even a funcall wrapper
>> written in Elisp would be sufficient?
>
> FWIW, for the specific example in the bug report, I'd argue that we
> should never call `Feval` directly because a call to `eval`
> is a pretty strong hint that speed is probably not a priority.
> Similarly I'd expect that most calls to `mapcar` won't benefit very much
> from a direct call because the cost of preparing the call
> (constructing a closure to pass to `mapcar`) and running the loop is
> probably high enough to dwarf the function call itself.

Good points,

With ea7a52dbaed I added eval to 'native-comp-never-optimize-functions'
so this should fix the reported issue, for mapcar I think we should
prove it has really no performance impact before deciding to include it
as well.

Thanks

  Andrea