[Top][All Lists]

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

Re: Compilation to native

From: Stefan Monnier
Subject: Re: Compilation to native
Date: 13 Apr 2004 13:32:37 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

>> > This optimisation more than doubles the speed of the generated
>> > function.  The optimisation adds two new byte operations.  As a start
>> > the new operations always take parameters that are four bytes wide.  I
>> > think the loading of these four bytes is the cause of the slower byte
>> > interpretation.
>> I don't understand.  Could you give us more info about what those new byte
>> ops are and what they're used for (and maybe why you think they make things
>> slower in the byte-interpreter, tho I should be able to figure that out on
>> my own at that point).
> The optimisation moves variable referencing and setting out of loops.

Feel free to use precise words like `varref' or `varset'.  We want/need
technical details here.

> The Lisp objects are instead referenced onto the stack before the
> loop, and set from the stack afterwards.  The new operations are used

You mean you added two byteops: one to read the Nth word on the stack
(counting from the top) and the other to set that word?  I expect you
called them something like `sset' and `sref'?
Sounds generally useful (something similar is used in the `lexical' branch
of Miles, you might want to check that out).


reply via email to

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