Best Frontend Courses LogoBest Frontend Courses
    • AI
    • Accessibility
    • Algorithms
    • Angular
    • Architecture
    • Astro
    • Auth
    • CSS
    • Firebase
    • Game Development
    • Gatsby
    • Git
    • GraphQL
    • HTML
    • Ionic
    • JavaScript
    • Jotai
    • MobX
    • Native
    • Netlify
    • Next.js
    • Nx
    • Performance
    • Prisma
    • React
    • React Native
    • Redux
    • Remix
    • Rx.js
    • SCSS/Sass
    • SolidJS
    • Storybook
    • Supabase
    • Svelte
    • Tailwind
    • Testing
    • TypeScript
    • Vue.js
    • XState
    • jQuery
    • p5.js
  • Add Course
  • Login

Copyright ยฉ 2025Best Frontend Courses. All rights reserved.

  • Categories
  • Instructors
  • Terms of Service
  • Privacy Policy
  • Feedback
  1. Home
  2. JavaScript
  3. Bare Metal JavaScript: The JavaScript Virtual Machine
JavaScript
Video

Bare Metal JavaScript: The JavaScript Virtual Machine

by Miลกko Hevery
Enroll
๐Ÿ•น๏ธ Levels: ๐Ÿš€ Advanced
โณ Duration: 5.5 hours
๐Ÿค‘ Price: Subscription
๐Ÿง‘โ€๐Ÿ’ป Learning Platform: Frontend Masters
๐Ÿง‘โ€๐ŸŽ“ Certificate: No

๐Ÿ”‘ Key Learning Outcomes

  • Understanding JavaScript's Performance Characteristics: Learn how JavaScript is converted into low-level CPU instructions, focusing on memory operations, inline caching, and deoptimization.
  • Comprehending CPU Mechanics: Gain insight into how CPUs execute code, including the role of registers, the arithmetic logic unit, and the program counter.
  • Exploring Virtual Machines: Develop a mental model of how virtual machines, like Google's V8 engine, optimize and execute JavaScript code efficiently.
  • Analyzing JavaScript Performance: Use tools like the deopt explorer to inspect and optimize JavaScript code, focusing on object shapes, hidden classes, and inline caching.

๐Ÿ‘จโ€๐Ÿซ About the Course

The course delves into the inner workings of JavaScript virtual machines, providing a comprehensive understanding of how high-level JavaScript is executed at the machine level. Through examining the V8 engine's performance characteristics, learners will build a foundational understanding of how virtual machines interact with computer hardware. This course covers a range of topics, including CPU mechanics, optimization techniques, and the intricacies of JavaScript performance.

๐ŸŽฏ Target Audience

  • Developers interested in low-level programming and performance optimization.
  • JavaScript programmers seeking to deepen their understanding of how JavaScript engines work.
  • Computer science students and professionals looking to explore virtual machines and CPU architecture.

โœ… Requirements

  • Basic knowledge of JavaScript programming.
  • Familiarity with computer science concepts is beneficial but not required.

๐Ÿ“– Course Content

Introduction

  • Overview of JavaScript virtual machines and their connection to physical hardware.

How the CPU Runs Code

  • Physical & Virtual Machines: Role of virtual machines in code-CPU communication.
  • CPU Basics & Speed Limits: Introduction to CPU components and performance enhancements.
  • CPU Memory Management: Memory management techniques and operations.
  • CPU Subroutines & Calling Conventions: Understanding subroutines and stack management.
  • CPU Q&A: Discussion on hardware architecture and RAM in relation to JavaScript engines.

Fibonacci

  • Transition from machine language to assembly language using Fibonacci sequence examples.

Virtual Machine Inlining & Deopt

  • Optimizing Code: Balance between speed and memory in code optimization.
  • Deopt Explorer & Fixing a Deopt: Using tools to analyze JavaScript performance.
  • Object Shapes & Hidden Classes: Impact of object shapes on JavaScript performance.

Micro Benchmarking

  • Object Shapes & Inline Caching: Analyzing inline caching's role in performance.
  • Inspecting Inline Caches with Deopt Explorer: Using deopt explorer for performance insights.
  • Double & Triple Equals: Examining performance differences between equality operators.
  • Object & Array Copying: Performance considerations in object and array manipulations.
  • Negative Numbers: Exploring the impact of negative zero on performance.
  • Holey Arrays: Understanding performance challenges with arrays containing holes.

Amdahlโ€™s Law

  • Importance of optimizing significant code portions for overall performance.
Update Course

Drop a comment

Bare Metal JavaScript: The JavaScript Virtual Machine by Miลกko Hevery

Log in to leave a feedback

Login

๐Ÿ‘‡ Psst! Interested in More JavaScript Courses?

JavaScriptJavaScript

Web Storage APIs
Video

by Maximiliano Firtman

๐Ÿ•น๏ธ Levels: ๐Ÿ˜Ž Intermediate

โณ Duration: 4 hours

๐Ÿค‘ Price: Subscription

๐Ÿง‘โ€๐Ÿ’ป Learning Platform: Frontend Masters

JavaScriptJavaScript

Complete Intro to Real-Time
Video

by Brian Holt

๐Ÿ•น๏ธ Levels: ๐Ÿ˜Ž Intermediate

โณ Duration: 3.5 hours

๐Ÿค‘ Price: Subscription

๐Ÿง‘โ€๐Ÿ’ป Learning Platform: Frontend Masters

jQueryjQueryJavaScriptJavaScript

Learn jQuery
WrittenInteractive

๐Ÿ•น๏ธ Levels: ๐ŸŒฑ Beginner

โณ Duration: 4 hours

๐Ÿค‘ Price: Free

๐Ÿง‘โ€๐Ÿ’ป Learning Platform: Codecademy

๐Ÿ”™ Back to JavaScript Category