emacs-devel
[Top][All Lists]
Advanced

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

Re: Benchmarking temporary Lisp objects [Was: Re: [RFC] temporary Lisp_S


From: Stefan Monnier
Subject: Re: Benchmarking temporary Lisp objects [Was: Re: [RFC] temporary Lisp_Strings]
Date: Fri, 05 Sep 2014 11:35:31 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

> To address Stefan's concern about alloca-allocated thingies escaping to
> Elisp, is there some way you can include a runtime test for that, when
> checking is enabled?  It wouldn't have to catch every escapee, just a high
> percentage of them.

I'd expect that such escaping would only occur in "unusual setups", as
a result of later unrelated changes.  E.g. an alloca_string object is
passed to DECODE_FILE or to Fexpand_file_name, which will usually stay
within C code or even if it escapes to Elisp its lifetime will not
escape the stack discipline.

And some times later we get random crashes in odd situations because
someone figure a clever way to do god-knows-what (e.g. speed things up
via a memoization) by storing those refs into some global table.

Basically, this risks making Elisp's semantics more murky, so it has to
come with a good performance story.


        Stefan



reply via email to

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