* This patch increase octane score +2~3%(x86 intel)
* We suggest jobs number in third party build even if failed to find cpu core count
Using -j options cause system fail some legacy system
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. when evaluate evalLocal operation, flag of inside of with statment should propagate into inside CodeBlock due to using CallInWithOperation instead of CallOperation
3. restict using of RegisterCopySkip mode in CompoundAssigmentNodes
4. In with statement, every continue statement to outer statement is not allowed except label for literation
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. divide CodeBlock into CodeBlock and InterpretedCodeBlock for saving memory
3. expand SCANNER_RESULT_POOL_INITIAL_SIZE to 128
4. connect String -> AtomicString with remaining space of String::m_tag
5. optimize Function.bind
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. evalute function decl in catch correctly
3. give receiver of get, set in interpreter correctly
4. give right StackTrace information in with, try-catch for user
5. fix bug in argument object around get, set variable
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. DeclarativeEnvironmentRecordNotIndexedForCatch for evalutate calling eval function in catch
3. evalutate computed flag of PropertyNode properly
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. revise rule of generate name of binded function
3. revise order evalutate CallEvalFunction opcode
4. process invalid lhs assignment correctly
5. allow \n\r in string literal
6. implement change property of binding correctly
7. Date.prototype.toGMTString and toUTCString should be same
8. fix bug in Function ctor
9. add stack checking in parseJSONWorker
10. use double_conversion with Number.prototype.toFixed, toPrecision
11. add has8BitContent for RopeString for prevent stackoverflow when invoke child::has8BitContent
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. alloc esprima::Error as Non-GC type.
- it can be thrown. but, bdwgc can not see try-catch variable area.
3. Use own context when eval, function are invoked.
4. implement fake-Realm class for v8 vender test
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
- add m_isExplicitlyDeclaredOrParameterName into name info in ASTScopeContext
- add m_isMutable into IdentifierRecord struct
- add ThrowStaticExcpetion opcode in indexed-mode
- add throw exception code in storeByName operation
2. when evaluate delete operation on member variable, must evaluate toString operation once for name even if exception throws
3. in strict mode, Decimals with leading zero literals are not allowed
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* for-in statement should not corrupt reserved r0 register value
* when parsing large statements, it should not make memory overflow
* fix Number.prototype.toLocaleString() not to use first parameter
* fix typo
Signed-off-by: Saebom Kim sae-bom.kim@samsung.com
2. implement ThrowStaticErrorOperation
3. optimize Get,SetObjectOpcode
4. optimize builtinArrayConstructor, Concat
5. implement SmallValue::fromValueForCtor it gives better performance when creating SmallValue from Value
6. add m_tag in String it gives the way to find typeof PointerValue without virtual function calling.
we can remove this member variable when our project is ported into small device it has small memory
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. optimize function calling performance
- change local variable binding order (this, function name first)
- revise opcode table init method
3. remove OpcodeTable::m_reverseTable
4. use shared thrower JSGetterSetter instance for arguments, function object
5. revise Function.prototype.toString for to print function's source
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
Now,
- GCutil has bdwgc and general GC Utilities (LeakChecker, allocator
wrapper)
- src/heap has Escargot-dependent functions (Custom Allocator,
LeakCheckerBridge for global function support)
* Function parseFloat() with "+0" works correctly
* \8 and \9 is parsed well in the esprima_cpp parser
* Make additional range check in String.prototype.replace()
* Replace use of ES6 Reflect.apply() with ES5 Function.prototype.apply()
* Update spidermonkey test results
* Add information about project prerequisites to README.md
Signed-off-by: Saebom Kim sae-bom.kim@samsung.com
2. optimize String::find
3. expand ESCARGOT_ASCII_TABLE_MAX to 256
4. implement ArrayObject::fastGetObject, ArrayObject::fastSetObject for fast ArrayObject access in native source
5. optimize Array.prototype.spice, Array.prototype.push... with ArrayObject::fastGetObject, ArrayObject::fastSetObject
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
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>