guile-devel
[Top][All Lists]
Advanced

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

Re: VM: direct vs indirect threading


From: Keisuke Nishida
Subject: Re: VM: direct vs indirect threading
Date: 19 Sep 2000 16:47:04 -0400
User-agent: T-gnus/6.14.4 (based on Gnus v5.8.6) (revision 02) SEMI/1.13.7 (Awazu) Chao/1.14.0 (Momoyama) Emacs/20.7 (i686-pc-linux-gnu) MULE/4.1 (AOI)

address@hidden (Karl M. Hegbloom) writes:

> Keisuke> Excuse me, but what is direct-threading?  Does it mean what I say
> Keisuke> bytecode to machine code translation?  But it doesn't seem his patch
> Keisuke> is anything associated to it..  I think they are talking about 
> storing
> Keisuke> real memory address into bytecode, right?
> 
>  If you research the topic, spend more than about four hours on it,
>  and can understand what they're talking about, you'll know more about
>  it than I do at this point.  Try searching `citeseer' and `google'
>  for "direct threading" and "JIT", and also the links in:
> 
>    <URL:http://www.geocrawler.com/archives/3/688/2000/4/0/3618205/>

Thanks for the link.  If I understand the article correctly, we use GNU
C's Labels as Values to implement threaded code:

http://www.complang.tuwien.ac.at/forth/threaded-code.html
| GNU C's Labels as Values
| 
| This is one of GNU C's extensions to standard C, and it is currently
| the most portable method for implementing threaded code.  A similar
| feature is FORTRAN's computed goto.  In GNU C, a direct threaded NEXT
| looks like this:
| 
| typedef void *Inst;
| Inst *ip; /* you should use a local variable for this */
| #define NEXT goto **ip++

>  Please RTFC.  If you can read `libguile' code, you can read `librep'
>  with no trouble.

I'll look at it.


reply via email to

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