News for hackers. Stuff that matters.
Re:Flash on iPhone would be a huge revenue leak by jrockway on Wednesday June 11, 2008 @04:03PM (#215220)
But so does any computer program. What do you think non-virtual machines do?
Re:Flash on iPhone would be a huge revenue leak by sophist on Wednesday June 11, 2008 @04:09PM (#215227)
The difference is that binaries contain instructions that map directly to hardware operations, whereas bytecode is interpreted by a binary. The interpretation is an intermediate step that doesn't take place when a program runs on bare metal.

edit: Of course, it would be possible to build a machine that actually executes JVM instructions directly. It would also be possible to build such a machine for JavaScript, but if someone asks you whether JavaScript is an "interpreted language," the answer would still be affirmative, even if there are cases where it's not true.

Re:Flash on iPhone would be a huge revenue leak by rcoder on Friday June 13, 2008 @01:17PM (#216933)
Actually, at any given time, a large number of the "hardware" operations being passed to a modern CPU are actually being "interpreted" using the microcode implemented on the CPU itself.

Even in the case of instructions which do map directly to hardware ops, the CPU is still doing branch prediction and prefetching, which implies that the code is being examined (i.e., "interpreted") before being executed.

I'm not trying to say that performance isn't better when funneling native instructions down to the CPU; rather, just that it's worth remembering that there's really no such thing as "[running] on bare metal" any more, at least on a modern x86 ISA system.