2. use stackStorage for "arguments" object
3. do not insert empty name for ASTScopeContext when comes emptyString in FunctionExpression name
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* Copy more files from es1 to run spidermonkey tests
* Add tools to run ECMA5-incompatible tests
- [babel](https://babeljs.io/)
- [es6-shim](https://github.com/paulmillr/es6-shim)
- [es6-symbol](https://www.npmjs.com/package/es6-symbol)
* Add src/shell/GlobalObjectBuiltinTestFunctions.cpp to add test-only functions
* 'of' should be able to be used as identifier
* Set rpath of x86 binary relative to binary path
* Remove config.h.in~ file from repository
* Fix broken build by removing third_party/libunwind
2. implicitly delete AST when ast is useless
3. allocate String::emptyString correctly
4. hide ptr in LeakChecker for better tracing
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. don't useless info in esprima
3. implement pool of ScannerResult in esprima
4. optimize SetGlobalObject, GetGlobalObject
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* Remove USE_ES6_FEATURE flag
: Some comments added for this
* Add ESCARGOT_USE_PROMISE flag
: More feature-wise flags (like ESCARGOT_USE_TYPEDARRAY) will be added
* Add test/test262-master submodule
: Our goal includes both fully supporting es5 and following the latest spec
* Add some basic functionalities for implementing Promise object
- Switch condition should not modify executionresult
- Parser context is not in iteration, nor in switch at first
- Builtin function length should be decided by parametersInfomation
- Implement Object.prototype.propertyIsEnumerable
- The values of [[Enumerable]] attributes are not considered when
determining if a property of a prototype object is shadowed by a
previous object on the prototype chain.
- Handle different object initializer syntax in ES5-ES6
- Parser should not be in function body at initialization
2. VariableDeclaratorNode does not affect execute result
3. optimize Object get, set in interpreter
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. implement simple ByteCodeInterpreter
3. implement simple global env
we can run very simple script likes below now
a = b = 1;
b = a + 2;
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. implement StringView
3. implement esprima::Scanner for script parsing
4. add original source of esprima 3.1.1
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>