2. merge DeclareFunctionDeclaration, DeclareFunctionDeclarationsInGlobal into DeclareFunctionDeclarations
3. implement EnvironmentRecord::initializeBinding for initialize function decl.
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
there is right version of hasBinding for createMutableBinding in createMutableBinding already
2. builtin Function ctor should process "} {" input correctly
3. exclude more spider-monkey vendor test
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>
2. implement DeclareFunctionDeclarationsInGlobal, ReturnFunctionSlowCase
3. remove m_canUseDisalignedRegister in ByteCodeGenerator
4. remove ExectuionResult in ExecutionState
5. do multiple array initialization in ArrayDefineOwnPropertyOperation
6. revise FunctionObject::call, UpdateExpressions
7. fix wrong global codeBlock decision in GlobalObject::eval
8. arguments binding can be added in non-indexed mode
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. expand register limit to uint16_t
3. introduce skip copying from stack allocated local variable to interpreter register file
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. implement selective clearing Stack
- only blockes have object, array, new expression are cleared by ClearStack function now
3. improve get object inline cache
4. remove CodeBlock::hasNonConfiguableNameOnGlobal
5. add thisValue in ExecutionState
6. optimize Value::abstractEqualsToSlowCase
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. store ByteCodeLOC in ByteCodeBlock & lazy store loc
3. optimize builtin Array.prototype.splice
4. optimize Value::toNumberSlowCase
5. optimize arguments object
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2. remove ast implicitly when use less avoiding memory leak
3. change ByteCodeBlockData gc type into atomic
4. add literal info into ByteCodeBlock
5. force enable eager sweep
6. divide GC_mark_and_push_custom into GC_mark_and_push_custom_iterable and GC_mark_and_push_custom
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>