Kevin,

Thanks a lot for your detailed response that sheds a light onto the subject. 
Actually the performance here is not the issue, the main issue is that (1) iOS 
(iPhone/iPad) writeable pages cannot have executable flag, so all native 
machine code of JS scripts has to be generated prior running and deploying the 
app on this platform, anything else such as stack, heap, can be generated at 
runtime. So only code that has execution flag comes from application binary 
itself, so has to be embedded during (AoT) compilation or linking stage.

AFAIK this limitation is also present at some other console platforms, so 
altogether it is a question of possibility of making V8 engine compile 
ahead-of-time code-objects without getting into runtime. So while we can use 
JIT during development stage on desktop computer or X86 based device emulator, 
we need to AOT compile all the code prior running it on the device itself.

So if native-code assembler relies on runtime information so much it cannot 
really generate machine code without knowing exactly the runtime state (like 
global variables), it is fine enough reason V8 cannot be really used for 
purpose of JS scripting engine for games on iOS and some console platforms.

Regards,
-- 
Adam Strzelecki | nanoant.com | tel. +48 605 446 492

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to