LWN.net Logo

Non-JVM VM

Non-JVM VM

Posted Nov 14, 2007 3:13 UTC (Wed) by ajross (subscriber, #4563)
In reply to: Non-JVM VM by ncm
Parent article: Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME (Betaversion)

Register machines and stack machines are equivalent and turing-complete.  There is no
difference in expressiveness between the architectures.  Register designs are more popular
because they're more amenable to optimization.  It's easier to generate code to store a
temporary that needs to be used more than once in a register than it is to arrange the stack
so it's at the top at the right time.


(Log in to post comments)

Non-JVM VM

Posted Nov 14, 2007 4:22 UTC (Wed) by ncm (subscriber, #165) [Link]

Obviously.  But a design incompatible with JVM may also implement instructions that JVM
doesn't.  As an example, CLR implements the tail-call optimization.  Turing-completeness is
meaningless at this level.  (If you insist on nitpicking, I will point out that nobody has
ever implemented a Turing-complete execution environment, and nobody ever will.)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds