Posted By Arun Singh | 24-Jun-2019
Rhino:- This engine managed by the Mozilla Foundation, open source, developed entirely in Java.
KJS:- KDE’s engine originally developed by Harri Porten for the KDE project’s Konqueror web browser.
JerryScript:- It is a lightweight engine for the Internet of Things.
Chrome V8 Engine
The V8 way of doing Stuff
First of all the dedicated two separate threads for performing compiler related operations. There are several other threads that helps the compilation process but these two other mains once full-codegen and crankshaft.
Main Thread : Which is suggest the main task fetching the code making sure it compiles and then executing it.
Compiler Thread: This thread contains two thread once full codegen and crankshaft
Crankshaft - Crankshaft took the codes marked as hot and then compile them in a more optimal way so that the next time that portion of the code was hit this new optimize machine code executed leading the better efficiency.
Profile Thread: Marks the portion of code that is in hot sections.
Garbage Collector Thread: This thread manages the all garbage collection code.
The crankshaft applies the so that we get even more efficient compilation.
Inling optimization: fill the function calls in the "hot paths" are replaced with the actual code from the function to improve performance.
Hidden classes: The compiler generates something called hidden classes which maintain the pointers to every object property in a class structure so that it need not be looked up every time.
Inline caching: A cache of the object type that is most likely to be passed to a function is maintained so that unnecessary lookups are avoided every time.
Hot Swapping of code
Thanks for reading!