REGISTERS | How the JavaScript REALLY engine works | JS V8 engine explained | Advanced JavaScript

Sdílet
Vložit
  • čas přidán 20. 06. 2021
  • This video looks at how registers work in the JavaScript V8 engine at a bytecode level. Everytime you create a variable whether it's a let, const or a var, this will be ultimately represented as a virtual register in the V8 engine's register machine. This tutorial shows you how your JavaScript code gets translated into assembly byte code, how the variables gets represented as registers and how it works in conjuction with the accumulator to perform math operations.
    In this video you will get even more familiar with how the JavaScript v8 engine handles your code and how it's represented as assembly instructions, and you will learn a load more new assembly instructions at a byte code level.
    This video really focuses on how you can become an Advanced JavaScript developer through focusing on how your source code gets translated into bytecode by the ignition interpreter in the Javascript V8 engine that powers chrome, chromium browsers and nodejs.
    This video is beginner friendly.
  • Věda a technologie

Komentáře • 15

  • @Ab-cj6gl
    @Ab-cj6gl Před 2 lety +5

    Phenomenal playlist

    • @chrishayuk
      @chrishayuk  Před 2 lety +1

      thank you, glad you're enjoying

  • @sacramentoexplained4013
    @sacramentoexplained4013 Před rokem +2

    These videos are GEMS!! Thank you for taking the time to makes em!! Helpful is an understatement!

    • @chrishayuk
      @chrishayuk  Před rokem

      Glad you like, they were some of my fave vids to build

  • @Mercio2
    @Mercio2 Před 2 lety

    Excellent! Thank you.

  • @theorozier
    @theorozier Před 3 lety +2

    Interesting channel!

    • @chrishayuk
      @chrishayuk  Před 3 lety +2

      thank you, hope that's a positive interesting loool

  • @Mmg123-masked12G
    @Mmg123-masked12G Před 2 lety +1

    Interesting thing happen when I play with float numbers like 10 * 2.5 it uses smth called HeapNumber in an OldSpace. On M1 the maximum precision for the operation like x * 2.5000000000000001 is 16 digits. When I shift it right, it's going to be rounded

  • @Lozar93
    @Lozar93 Před 3 lety +2

    Hi Chris, love your contents! What about containers internals?

    • @chrishayuk
      @chrishayuk  Před 3 lety +1

      awesome, thanks glad you like.. awesome suggestion btw.. i'll defo do that.. btw.. worth checking out node.js alpine video which is fairly under the hood for creating containers, as is my multi-stage vid

  • @error__prone
    @error__prone Před rokem

    In my byte code, where yours says 0c mine says 0d, is this because of a difference in our cpu instruction set?

  • @minhhieple6483
    @minhhieple6483 Před 2 lety

    Your video is amazing, but I have some questions
    - V8 translates our code (the programmer writes) into machine code for execution, does that include all the code in Node.js' source code written in C++?
    - I still can't figure out the relationship of Event loop (which belongs to libUV library) and V8 (javascript runtime)
    - I read a lot of articles they say Event loop also executes the code and V8 also executes, so what is the wrong point here?
    Thank you very much.

    • @error__prone
      @error__prone Před rokem

      @@abbasramees4238 the event loop callbacks have to get pushed to call stack when it's empty in order to run, yes?