[Top][All Lists]

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

Re: Compilation to native

From: Miles Bader
Subject: Re: Compilation to native
Date: Tue, 13 Apr 2004 16:51:56 -0400
User-agent: Mutt/1.3.28i

On Tue, Apr 13, 2004 at 01:32:37PM -0400, Stefan Monnier wrote:
> 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).

Yes; here are the new  byte codes in the lexical-binding branch:

   #define Bstack_ref 0
   #define Bstack_set  0262
   #define Bstack_set2 0263
   #define Bvec_ref    0264
   #define Bvec_set    0265
   #define BdiscardN   0266

stack_ref is a `1 byte with embedded constant' opcode; stack_set2 uses a
following 2-byte constant, the rest use a following 1-byte constant (as they
have lisp-level equivalents, unusually large offsets can be handled by
calling an out-of-line function).  discardN uses a hack that allows the TOS
to optionally be preserved.

Love is a snowmobile racing across the tundra.  Suddenly it flips over,
pinning you underneath.  At night the ice weasels come.  --Nietzsche

reply via email to

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