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. optimize UpdateExpressions
- implement Increment, Decrement codes
- divide UpdateExpressions into fast case and slow case
- use Increment, Decrement codes in fast case
3. optimiuze AssigmentExpressionSimpleNode
4. avoiding to generate JumpIfFalse if condition is always true in WhileStatementNode ex) while(true) {...}
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. 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>
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>