• All this is wrong in TurboFan. (Node 8+)
  • Optimization killers
  • Introduction
  • Some V8 background
  • Topics
  • 1. Tooling
  • 2. Unsupported syntax
  • 3. Managing arguments
  • 3.1. Reassigning a defined parameter while also mentioning arguments in the body (in sloppy mode only). Typical example:
  • 3.2. Leaking arguments:
  • 3.3. Assignment to arguments:
  • What is safe arguments usage?
  • 4. Switch-case
  • 5. For-in
  • 5.1. The key is not a local variable:
  • 5.2. The object being iterated is not a "simple enumerable"
  • 5.2.1. Objects that are in "hash table mode" (aka "normalized objects", "dictionary mode" - objects who have a hash table as a backing data structure) are not simple enumerables**
  • 5.2.2. The object has enumerable properties in its prototype chain**
  • 5.2.3. The object contains enumerable array indices**
  • 6. Infinite loops with deep logic exit conditions or unclear exit conditions