v8 without JIT

50 views
Skip to first unread message

dra...@gmail.com

unread,
Jan 3, 2019, 11:31:02 AM1/3/19
to v8-dev
Now that builtins are binary embedded (and it sounds like there is a plan to do the same with bytecode handlers), how far is v8 from being able to run without JIT?  In the Ignition design doc, it notes that supporting platforms not allowed to JIT code is a non-goal as JIT is still needed for code stubs and ICs.  If all of the code stubs are binary embedded, then code stubs shouldn't be a problem any longer.  For ICs, it seems like it should be possible to just not use them (although this would be a major slowdown).  It isn't totally clear to me why internal caches depend on JIT (it seems like the interpreter should be able to use the offset information directly).  Any insight would be greatly appreciated.

P.S. As a related thought experiment, what would it take to run the compiler pipeline on JavaScript code at compile time (similar to the builtins) and actually embed that in the binary as well (allowing for AOT JavaScript compilation)?

Jakob Kummerow

unread,
Jan 3, 2019, 4:11:31 PM1/3/19
to v8-...@googlegroups.com
We're working on JIT-less mode. Tracking bug: https://bugs.chromium.org/p/v8/issues/detail?id=7777.

AOT compilation is not supported (and generally not useful/beneficial with JavaScript), but you can create custom snapshots which are going a step in that direction.

On Thu, Jan 3, 2019 at 5:31 PM <dra...@gmail.com> wrote:
Now that builtins are binary embedded (and it sounds like there is a plan to do the same with bytecode handlers), how far is v8 from being able to run without JIT?  In the Ignition design doc, it notes that supporting platforms not allowed to JIT code is a non-goal as JIT is still needed for code stubs and ICs.  If all of the code stubs are binary embedded, then code stubs shouldn't be a problem any longer.  For ICs, it seems like it should be possible to just not use them (although this would be a major slowdown).  It isn't totally clear to me why internal caches depend on JIT (it seems like the interpreter should be able to use the offset information directly).  Any insight would be greatly appreciated.

P.S. As a related thought experiment, what would it take to run the compiler pipeline on JavaScript code at compile time (similar to the builtins) and actually embed that in the binary as well (allowing for AOT JavaScript compilation)?

--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David Raymond

unread,
Jan 3, 2019, 4:51:46 PM1/3/19
to v8-...@googlegroups.com
Great, thanks Jakob

You received this message because you are subscribed to a topic in the Google Groups "v8-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/v8-dev/i7LUtXOZi2Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to v8-dev+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages