Skip to content

Escargot 1.0.0

Compare
Choose a tag to compare
@clover2123 clover2123 released this 15 Nov 01:24
· 1537 commits to master since this release

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