# Introduction to TurboFan

DevFeed: [Introduction to TurboFan](<https://devfeed.tech/articles/introduction-to-turbofan-39708.md>)

Original publisher: [Read original article](<https://doar-e.github.io/blog/2019/01/28/introduction-to-turbofan/>)

Author: Jeremy "\_\_x86" Fetiveau

Published: 2019-01-28T16:00:00Z

Content type: tutorial

Language: en

Sources: [Diary of a reverse-engineer](<https://devfeed.tech/sources/diary-of-a-reverse-engineer.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [V8](<https://devfeed.tech/topics/v8.md>), [JIT](<https://devfeed.tech/topics/jit.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>), [compilers](<https://devfeed.tech/topics/compilers.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [exploitation](<https://devfeed.tech/tags/exploitation.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jit](<https://devfeed.tech/tags/jit.md>), [turbofan](<https://devfeed.tech/tags/turbofan.md>), [v8](<https://devfeed.tech/tags/v8.md>)

## AI overview

A tutorial on V8's TurboFan optimizing JIT compiler. It explains the sea-of-nodes structure, shows how to build V8 and use its d8 shell and Turbolizer, and examines a vulnerable optimization pass from Google's CTF 2018 before developing an exploit.

## Source excerpt

Introduction Ages ago I wrote a blog post here called first dip in the kernel pool, this year we're going to swim in a sea of nodes! The current trend is to attack JavaScript engines and more specifically, optimizing JIT compilers such as V8's TurboFan, SpiderMonkey's IonMonkey, JavaScriptCore's Data ...