Escargot 1.0.0
Release Note v1.0.0
Escargot is a memory optimized JavaScript engine for mid-range devices such as mobile phone, tablet and TV. This is the first stable release of Escargot.
Language Specification (ECMAScript)
Escargot implements full of ECMAScript 5.1 and part of ECMAScript 6.0.
ES5.1
ES5 specification is fully supported with Escargot.
ES6.0
supported
Object type | Implemented Feature | Property Type | Note |
---|---|---|---|
TypedArray Objects | TypedArray () | constructor | Currently it works expectedly only with arraylength less than 210000000 |
TypedArray (length) | constructor | ||
TypedArray (buffer [, byteOffset [, length]]) | constructor | ||
TypedArray.prototype.indexOf (searchElement [, fromIndex]) | method | ||
TypedArray.prototype.lastIndexOf (searchElement [, fromIndex]) | method | ||
TypedArray.prototype.set (array [, offset]) | method | ||
TypedArray.prototype.set (typedArray [, offset]) | method | ||
TypedArray.prototype.subarray ([begin [, end]]) | method | ||
TypedArray.BYTES_PER_ELEMENT | data property | ||
TypedArray.prototype.BYTES_PER_ELEMENT | data property | ||
TypedArray.prototype.constructor | data property | ||
TypedArray.prototype.copyWithin (target, start [, end]) | method | ||
TypedArray.prototype.every (callbackfn [, thisArg]) | method | ||
getter of TypedArray.prototype.byteLength | accessor property | ||
getter of TypedArray.prototype.byteOffset | accessor property | ||
getter of TypedArray.prototype.length | accessor property | ||
getter of TypedArray.prototype.buffer | accessor property | ||
ArrayBuffer Objects | ArrayBuffer (length) | constructor | |
ArrayBuffer.isView (arg) | function | ||
getter of ArrayBuffer.prototype.byteLength | accessor property | ||
ArrayBuffer.prototype.constructor | data property | ||
ArrayBuffer.prototype.slice (start, end) | method | ||
DataView Objects | DataView (buffer [, byteOffset [, byteLength]]) | constructor | |
getter of DataView.prototype.buffer | accessor property | ||
getter of DataView.prototype.byteLength | accessor property | ||
getter of DataView.prototype.byteOffset | accessor property | ||
DataView.prototype.constructor | data property | ||
DataView.prototype.[get | set][Float32 | Float64 | Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32] (byteOffset [, littleEndian)) | method | ||
Promise Objects | Promise (executor) | constructor | |
Promise.all (iterable) | function | ||
Promise.race (iterable) | function | ||
Promise.reject (r) | function | ||
Promise.resolve (x) | function | ||
Promise.prototype.catch (onRejected) | method | ||
Promise.prototype.then (onFulfilled, onRejected) | method |
Modules
- Parser (based on esprima) : translate the source code into AST nodes
- ByteCodeGenerator : generate register-based bytecode
- Interpreter : interpret the bytecode sequentially
- GC (based on Boehm-Demers-Weiser GC) : automatically free memory