filmov
tv
How Does JavaScript Work ? : The V8 JavaScript Engine, Ignition, Sparkplug and Turbofan.

Показать описание
In this lesson we will talk about the V8 JavaScript Engine. We will also cover some programming concepts in order to make more understandable how V8 works inside and how everything fits together like :
- The Parser and the Interpreter Ignition.
- Lexical Analysis.
- Syntax Analysis.
- Abstract Syntax Tree.
- Bytecode Generation and Execution.
- Compilers vs Interpreters.
- Basic Architecture of a CPU.
- Virtualization.
- The Non-Optimizing Compiler : "Sparkplug".
- "JIT" vs "AOT" Compilers.
- The Profiler.
- "Hot" functions.
- Why being Dynamically Typed is not such good for the Computer.
- Hidden Class, Shapes etc...
- Inline Caching.
- Monomorphism, Polymorphism and Megamorphism.
- The Just in Time Optimizing Compiler "Turbofan".
The goal is to understand the process of translation and execution of our source code and why is it done this way.
The subject is divided into three main sections: Communication, Execution and Optimizations, in which we will see the relationship between each of the elements that participate in this process.
00:00 : Intro: Topics.
01:46 : PART 1 : Communication.
04:35 : Lexical Analysis.
06:20 : Types of Errors.
06:54 : Lexicon vs Syntax vs Semantics.
07:24 : Syntax Analysis.
10:35 : Interpreters vs Compilers.
14:02 : PART 2 : Execution.
15:23 : Basic Architecture of a CPU.
16:44 : Virtualization.
17:27 : How Bytecode is Used inside V8.
18:20 : The Non-Optimizing Compiler : "Sparkplug".
21:51 : PART 3 : Optimizations.
31:18 : The Just-in-time "JIT" Compiler "Turbofan".
35:06 : Final Conclusion.
Video Links :
Conversion-Encoding Website :
JavaScript Parser Websites :
- The Parser and the Interpreter Ignition.
- Lexical Analysis.
- Syntax Analysis.
- Abstract Syntax Tree.
- Bytecode Generation and Execution.
- Compilers vs Interpreters.
- Basic Architecture of a CPU.
- Virtualization.
- The Non-Optimizing Compiler : "Sparkplug".
- "JIT" vs "AOT" Compilers.
- The Profiler.
- "Hot" functions.
- Why being Dynamically Typed is not such good for the Computer.
- Hidden Class, Shapes etc...
- Inline Caching.
- Monomorphism, Polymorphism and Megamorphism.
- The Just in Time Optimizing Compiler "Turbofan".
The goal is to understand the process of translation and execution of our source code and why is it done this way.
The subject is divided into three main sections: Communication, Execution and Optimizations, in which we will see the relationship between each of the elements that participate in this process.
00:00 : Intro: Topics.
01:46 : PART 1 : Communication.
04:35 : Lexical Analysis.
06:20 : Types of Errors.
06:54 : Lexicon vs Syntax vs Semantics.
07:24 : Syntax Analysis.
10:35 : Interpreters vs Compilers.
14:02 : PART 2 : Execution.
15:23 : Basic Architecture of a CPU.
16:44 : Virtualization.
17:27 : How Bytecode is Used inside V8.
18:20 : The Non-Optimizing Compiler : "Sparkplug".
21:51 : PART 3 : Optimizations.
31:18 : The Just-in-time "JIT" Compiler "Turbofan".
35:06 : Final Conclusion.
Video Links :
Conversion-Encoding Website :
JavaScript Parser Websites :
Комментарии