An ECMAScript engine is a program that executes source code written in a version of the ECMAScript language standard, for example, JavaScript. Just-in-time compilation engines These are new generation ECMAScript engines for web browsers, all implementing just-in-time compilation (JIT) or variations of that idea. The performance benefits for just-in-time compilation make it much more suitable for web applications written in JavaScript. Carakan: A JavaScript engine developed by Opera Software ASA, included in the 10.50 release of the Opera web browser, until switching to V8 with Opera 15 (released in 2013). Chakra (JScript9): A JScript engine used in Internet Explorer. It was first previewed at MIX 10 as part of the Internet Explorer 9 Platform Preview. Chakra: A JavaScript engine previously used in older versions of Microsoft Edge, before being replaced by V8. SpiderMonkey: A JavaScript engine in Mozilla Gecko applications, including Firefox. The engine currently includes the IonMonkey compiler and OdinMonkey optimization module, has previously included the TraceMonkey compiler (first JavaScript JIT) and JägerMonkey. JavaScriptCore: A JavaScript interpreter and JIT originally derived from KJS. It is used in the WebKit project and applications such as Safari. Also known as Nitro, SquirrelFish, and SquirrelFish Extreme. JScript .NET: A .NET Framework JScript engine used in ASP.NET based on Common Language Runtime and COM Interop. Unfortunately support was dropped with .NET Core and CoreCLR so its future looks questionable for ASP.NET Core. Tamarin: An ActionScript and ECMAScript engine used in Adobe Flash. V8: A JavaScript engine used in Google Chrome and other Chromium-based browsers, Node.js, Deno, and V8.NET. GNU Guile features an ECMAScript interpreter as of version 1.9 Nashorn: A JavaScript engine used in Oracle Java Development Kit (JDK) since version 8. iv, ECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++. CL-JavaScript: Can compile JavaScript to machine language on Common Lisp implementations that compile to machine language. BESEN: A complete JIT-compiling implementation of ECMAScript Fifth Edition written in Object Pascal. Hermes: developed by Facebook for React Native mobile apps Graal.js: An ECMAScript compliant JavaScript engine for GraalVM which supports language interoperability that can also execute Node.js applications. Runtime interpreter engines The following engines use runtime interpreters, which do not compile into native machine code and generally run more slowly: Continuum: A self-interpreter that supports older drafts of the ECMAScript 2015 specification. Uniquely, the engine is implemented in ECMAScript 3, which made it possible to run ES2015 in