3 ms·
Perhaps because V8's engine translates directly from code to assembly with no intermediate bytecode. It seems like it would make it more difficult to integrate
by chowmeined 17y ago
Perhaps because V8's engine translates directly from code to assembly with no intermediate bytecode. It seems like it would make it more difficult to integrate tracing with that system.
- _delirium 17y agoHaving an intermediate bytecode also makes it easier to support more architectures in a reasonably consistent manner: for architectures where you don't have a bytecode->asm compiler, you can fall back on interpreting the bytecode (as TraceMonkey currently does). With V8, the direct targeting of architecture-specific asm means you have no support at all on architectures that V8 doesn't yet target--- or you'd have to support them through a different Javascript stack entirely, like falling back to TraceMonkey, which would be harder to keep consistent. Of course, Mozilla could go the Chrome route and drop support for everything except x86, x86-64, and ARM. But for the moment at least, they appear interested in keeping at least the Linux version available on PowerPC, SPARC, and other architectures.