blob: f4867a5fc32cbae00f95ce3dfd3c0639bb7d51c5 [file] [log] [blame] [view]
V8 features an interpreter called Ignition. Ignition is a fast low-level register-based interpreter written using the backend of [[TurboFan]]. The V8 blog post presents a [high-level overview](https://v8project.blogspot.co.uk/2016/08/firing-up-ignition-interpreter.html) of the Ignition interpreter. More details can be found in the following resources:
## Talks
* [V8: Hooking up the Ignition to the Turbofan](https://docs.google.com/presentation/d/1chhN90uB8yPaIhx_h2M3lPyxPgdPmkADqSNAoXYQiVE/edit)
* [Ignition: Jump-starting an Interpreter for V8](https://docs.google.com/presentation/d/1HgDDXBYqCJNasBKBDf9szap1j4q4wnSHhOYpaNy5mHU/edit#slide=id.g1357e6d1a4_0_58)
* [Ignition: An Interpreter for V8](https://docs.google.com/presentation/d/1OqjVqRhtwlKeKfvMdX6HaCIu9wpZsrzqpIVIwQSuiXQ/edit) ([video](https://youtu.be/r5OWCtuKiAk))
## Articles
* [Understanding V8s Bytecode](https://medium.com/dailyjs/understanding-v8s-bytecode-317d46c94775)
## Design Docs
* [Ignition design document](https://docs.google.com/document/d/11T2CRex9hXxoJwbYqVQ32yIPMh0uouUZLdyrtmMoL44/edit?ts=56f27d9d#heading=h.6jz9dj3bnr8t)
* [Register Equivalence Optimization](https://docs.google.com/document/d/1wW_VkkIwhAAgAxLYM0wvoTEkq8XykibDIikGpWH7l1I/edit?ts=570d7131#heading=h.6jz9dj3bnr8t)