<div dir="ltr"><div class="gmail_quote">On Fri, Sep 5, 2008 at 3:17 PM, David Griswold <span dir="ltr"><<a href="mailto:david.griswold.256@gmail.com">david.griswold.256@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div dir="ltr"><div class="gmail_quote"><div><br>Yes, it's becoming clear that V8 doesn't do anything that radically new or magical, and that it was specifically designed for JavaScript, not as any kind of universal dynamic language VM. I'm especially disappointed at Eliot's observation that it doesn't have a bytecode intermediate form, although they may do mixed-mode execution by first interpreting the AST.<br>
</div></div></div></blockquote></div><br><div>Why is that a bad thing? I actually thought that was one of the most interesting aspects. Bytecodes can provide you a concise portable format, but you could also do that by compressing or otherwise condensing source code (which I guess one way of condensing is to map to bytecode). I'm not saying bytecodes wouldn't be desirable, but there's something appealing (to me) about a direct translation from source to machine code and I'm curious what other advantages bytecodes might have.</div>
<div><br></div><div>Also, in a really pure OO VM and language, what would the bytecode set reduce to? Three instructions? push, pop and send?</div><div><br></div><div>- Stephen</div></div>