home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 117,094 of 117,927   
   Anton Ertl to LIT   
   Re: Stack vs stackless operation (2/2)   
   25 Feb 25 09:07:19   
   
   [continued from previous message]   
      
                     can easily be interpreted or compiled. A   
                     long-running question in the design of VMs is   
                     whether a stack architecture or register   
                     architecture can be implemented more efficiently   
                     with an interpreter. We extend existing work on   
                     comparing virtual stack and virtual register   
                     architectures in three ways. First, our translation   
                     from stack to register code and optimization are   
                     much more sophisticated. The result is that we   
                     eliminate an average of more than 46\% of   
                     executed VM instructions, with the bytecode size of   
                     the register machine being only 26\% larger   
                     than that of the corresponding stack one. Second, we   
                     present a fully functional virtual-register   
                     implementation of the Java virtual machine (JVM),   
                     which supports Intel, AMD64, PowerPC and Alpha   
                     processors. This register VM supports   
                     inline-threaded, direct-threaded, token-threaded,   
                     and switch dispatch. Third, we present experimental   
                     results on a range of additional optimizations such   
                     as register allocation and elimination of redundant   
                     heap loads. On the AMD64 architecture the register   
                     machine using switch dispatch achieves an average   
                     speedup of 1.48 over the corresponding stack   
                     machine. Even using the more efficient   
                     inline-threaded dispatch, the register VM achieves a   
                     speedup of 1.15 over the equivalent stack-based VM.}   
   }   
      
   >Clarity of the code comes as a "bonus" :) yes, we've   
   >got VALUEs and I use them when needed, but their use   
   >still means employing the "Forth machine".   
      
   What do you mean with 'the "Forth machine"', and how does "OOS"   
   (whatever that is) avoid it?   
      
   - anton   
   --   
   M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html   
   comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html   
        New standard: https://forth-standard.org/   
   EuroForth 2023 proceedings: http://www.euroforth.org/ef23/papers/   
   EuroForth 2024 proceedings: http://www.euroforth.org/ef24/papers/   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca