List of ECMAScript engines

Source: Wikipedia, the free encyclopedia.

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.

  • Opera Software ASA, included in the 10.50 release of the Opera web browser, until switching to V8 with Opera 15 (released in 2013).[1][2][3][4]
  • 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.[5]
  • Chakra: A JavaScript engine previously used in older versions of Microsoft Edge, before being replaced by V8.[6]
  • Firefox
    . The engine currently includes the IonMonkey compiler and OdinMonkey optimization module, has previously included the TraceMonkey compiler (first JavaScript JIT) and JägerMonkey.
  • KJS. It is used in the WebKit project and applications such as Safari. Also known as Nitro, SquirrelFish, and SquirrelFish Extreme.[7]
  • 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.[8]
  • iv, ECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++.[9]
  • CL-JavaScript: Can compile JavaScript to machine language on Common Lisp implementations that compile to machine language.[10]
  • BESEN: A complete JIT-compiling implementation of ECMAScript Fifth Edition written in Object Pascal.[11]
  • Hermes: developed by Facebook for React Native mobile apps[12] Can also be used independent from React Native.
  • 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:

See also

References

  1. ^ "Carakan". Archived from the original on 2009-05-31. Retrieved 2009-07-09.
  2. ^ "Opera Desktop Team's Blog | Opera". Archived from the original on 2006-03-03.
  3. ^ "Dev.Opera — Blog".
  4. ^ "Dev.Opera — Blog".
  5. ^ Frequently Asked Questions, Microsoft, 2010-03-13, archived from the original on 2010-03-22, retrieved 2010-03-18
  6. ^ "Targeting Edge vs. Legacy Engines in JsRT APIs". Retrieved 10 September 2015.
  7. ^ "JavaScriptCore – WebKit".
  8. ^ "Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM".
  9. ^ "Constellation/iv". GitHub. Retrieved 2015-11-15.
  10. ^ "CL-JavaScript". Retrieved 2018-09-14.
  11. ^ "Support me". GitHub. 18 November 2021.
  12. ^ "Using Hermes". Facebook. Retrieved 9 April 2021.
  13. ^ "ECMAScript 2015 Language Specification – ECMA-262 6th Edition".
  14. ^ "An ES6 Virtual Machine Built in JavaScript". Archived from the original on 2012-12-03. Retrieved 2012-12-01.
  15. ^ "V4 - Qt Wiki". wiki.qt.io. Retrieved 2021-04-24.
  16. ^ "ECMAScript Language Specification ECMA-262 5.1 edition" (PDF). Ecma International. June 2011. Archived from the original (PDF) on 2015-04-12. Retrieved 2012-01-31.
  17. ^ "YAJI: Yet Another JavaScript Interpreter". Google Code. Retrieved 2012-01-31.
  18. ^ "FESI". September 2003. Archived from the original on 2012-09-06. Retrieved 2012-08-06.
  19. ^ "Microvium is very small". 11 June 2022. Retrieved 23 August 2022.
  20. ^ "Duktape". Retrieved 2013-09-21.
  21. ^ https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/xs/XS%20Conformance.md#results
  22. ^ "Apps for IoT". Archived from the original on 2018-12-28.
  23. ^ "Xs7 @ Tc-39".
  24. ^ "Jsish". Retrieved 2014-04-30.
  25. ^ "MuJS". Retrieved 2014-09-22.
  26. ^ "NGINX JavaScript in Your Web Server Configuration". YouTube. Archived from the original on 2021-12-13. Retrieved 2018-10-30.
  27. ^ "Let's build a JavaScript Engine". 2019.jsconf.eu. Retrieved 2022-03-23.
  28. ^ "GitHub - boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust". github.com. Retrieved 2022-04-08.
  29. ^ Clark, Mitchell (2022-08-18). "The James Webb Space Telescope runs JavaScript, apparently". The Verge. Retrieved 2022-09-02.
  30. ^ "LibJS JavaScript engine". libjs.dev. Retrieved 2023-06-30.
  31. ^ Ladybird browser update (June 2023), retrieved 2023-06-30
  32. ^ Ladybird browser update (February 2024), retrieved 2024-04-18