List of ECMAScript engines
From Infogalactic: the planetary knowledge core
An ECMAScript engine is a program that executes source code written in a version of the ECMAScript language standard, for example, JavaScript.
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,[1] included in the 10.50[2] release of the Opera web browser, until switching to V8 with Opera 15 (released in 2013).[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 used in Microsoft Edge.[6]
- SpiderMonkey: A JavaScript engine in Mozilla Gecko applications, including Firefox. The engine currently includes the IonMonkey and JägerMonkey compilers, has previously included the TraceMonkey compiler (first javascript JIT), and is planned to include the forthcoming OdinMonkey compiler.
- 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.[7]
- Tamarin: An ActionScript and ECMAScript engine used in Adobe Flash.
- V8: A JavaScript engine used in Google Chrome, Node.js, and V8.NET.
- Nashorn: A JavaScript engine used in Oracle Java Development Kit (JDK) since version 8.[8]
The following engines use runtime interpreters, which do not compile into native machine code and generally run more slowly.
- Continuum:[9] A self-interpreter that supports older drafts of the ECMAScript 6 specification.[10] Uniquely, the engine is implemented in ECMAScript 3, which made it possible to run ES6 in browsers as old as IE6.[11]
- Futhark: The ECMAScript engine of the Opera web browser versions 9.50 to 10.10.
- InScript: An obsolete proprietary library used for iCab 2 and 3
- JScript: The engine that is used in Internet Explorer for versions up to IE9, and one component of the Trident layout engine.
- KJS: The engine used in Konqueror, and one component of KHTML, a predecessor to JavaScriptCore.
- Linear B: The ECMAScript engine of the Opera web browser versions 7.0 to 9.50, exclusive.
- Narcissus: JavaScript implemented in JavaScript (a meta-circular evaluator), intended to run in another JavaScript engine, of theoretical and educational nature only.
- JS-Interpreter A lightweight JavaScript interpreter implemented in JavaScript with step-by-step execution.
- QtScript: Originally developed by Trolltech, now owned by Digia. It provides QObject integration with JavaScriptCore.
- Rhino: One of several JavaScript engines from Mozilla, using the Java platform.
- YAJI: An ECMAScript engine[12] based on the FESI[13] implementation by Jean-Marc Lugrin in 1999, using the Java platform, currently being developed to support the latest standards (Spec 262, v5.1).[14]
- Duktape: a small footprint, easily embeddable Ecmascript E5/E5.1 engine.[15]
- The Kinoma Platform, an ECMAScript 6[16] runtime environment and framework. This is one of the first runtimes to correctly implement almost all of the ECMAScript 6 specification.
- Jsish: a JavaScript interpreter with builtin SQLite, JSON, WebSocket, and ZVFS support.[17]
- Websocket.js: embeddable Javascript engine with HTTP/Websocket support.[18]
- Espruino: a very small footprint interpreter specifically for Microcontrollers. Can run in less than 8kB of RAM by executing from source (rather than Bytecode)
- MuJS: a lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed for MuPDF.[19]
- V7: part of the Smart.js platform, claims to be the world's smallest JavaScript engine.[20]
- Tiny-JS: a minimalJavaScript interpreter written in C++.
- JerryScript: a lightweight JavaScript engine by Samsung for microcontrollers with less than 64KB RAM.
See also
References
- ↑ http://labs.opera.com/news/2009/02/05/
- ↑ http://web.archive.org/web/20060303160759/http://my.opera.com/desktopteam/blog/
- ↑ http://my.opera.com/ODIN/blog/300-million-users-and-move-to-webkit
- ↑ http://my.opera.com/ODIN/blog/opera-14-for-android-is-out
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://trac.webkit.org/wiki/JavaScriptCore
- ↑ http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.ecma-international.org/ecma-262/6.0/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.ecma-international.org/ecma-262/6.0/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.