2 KiB
Specification
Escargot is a lightweight JavaScript engine.
Escargot supports ECMAScript 2020 Specification and WebAssembly JavaScript Interface.
ECMAScript 2020 Specification
Implement ECMAScript 2020 standard (https://262.ecma-international.org/11.0/).
Unimplemented Features
Escargot-Specific Features
Even though the features below are not part of ECMAScript standards, Escargot supports them for usability.
(These features are enabled only for standalone binary build)
| Feature | Function |
|---|---|
| print (arg) | prints arg on stdout |
| load (fileName) | opens a file named fileName and executes the contents as source code |
| read (fileName) | opens a file named fileName and returns the contents as string |
| run (fileName) | opens a file named fileName, executes the contents as source code, and returns the time spent to execute the code |
| gc() | invokes garbage collector |
WebAssembly JavaScript Interface
Implement WebAssembly JavaScript Interface (https://www.w3.org/TR/wasm-js-api-1/).
WebAssembly Core
Import WABT for WebAssembly core engine. WABT supports WebAssembly Core Specification.
Unimplemented Features
Code Caching Optimization
Support Code Caching method to accelerate the loading performance.
Code Caching stores the bytecode for the first time and reuses it when the same JavaScript code is executed again.
By reusing the bytecode, Code Caching could skip the parsing and compilation process which leads to fast loading time.