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 09:10:55 -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:

>  Regarding `direct-threading' vs `indirect-threading' in the VM, see:
>  `librep-list':
> 
>  <URL:http://www.geocrawler.com/lists/3/SourceForge/688/0/4353053/>
>    <URL:http://www.geocrawler.com/lists/3/SourceForge/688/0/4360658/>

Excuse me, but what is direct-threading?  Does it mean what I say
bytecode to machine code translation?  But it doesn't seem his patch
is anything associated to it..  I think they are talking about storing
real memory address into bytecode, right?

| I`m not convinced anymore that doing this would be any faster. First
| you have the translation latency, then you have the increased size of
| the code string (x4), even allowing for the possible speedup from
| accessing only on 32-bit alignments, you have 4x the memory traffic..

I assume that rep uses a single "byte" for a single instruction.
On the other hand, my (and QScheme's) VM uses a single "word" for a
single instruction.  This means we already store real memory address
in bytecode (so maybe direct-threaded).

By the way, does rep not use computed-goto?  And it sounds like they
compute code address at run time.  I think it's slow..


reply via email to

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