Commit graph

17 commits

Author SHA1 Message Date
이승수/Tizen Platform Lab(SR)/Senior Engineer/삼성전자
28de827199 Change default license to LGPL license (#60)
* Update build spec file
* Add License files

Signed-off-by: Seungsoo Lee <seungsoo47.lee@samsung.com>
2018-03-07 18:38:28 +09:00
seonghyun kim
f43006313d when evaluate BinraryExpressions, use direct stack registers carefully
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-05-12 15:39:09 +09:00
seonghyun kim
219bf36dcb Fix bug in AssignmentExpressionSimpleNode::hasSlowAssigmentOperation
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-05-11 19:46:20 +09:00
seonghyun kim
f234131c6c 1. use right receiver calling setter in GetObjectOperation
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>
2017-05-11 17:33:45 +09:00
Youngil Choi
e02af7daf8 Add License Clauses
Signed-off-by: Youngil Choi <duddlf.choi@samsung.com>
2017-03-10 18:06:20 +09:00
seonghyun kim
d0561e61be embed small amount of numeral literals into register file of interpreter
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-03-03 18:02:11 +09:00
seonghyun kim
974e986e76 1. replace LoadByStackIndex, StoreByStackIndex with Move opcode
2. generate more optimized byte code in for, if, assignment, update AST node

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-03-02 21:34:57 +09:00
seonghyun kim
f27adc4dad 1. change order of register when generate expression byte code
2. optimize store stack variables

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-24 17:15:04 +09:00
seonghyun kim
f44a2a00a2 1. implement stack limit in Function::call
2. implement stack limit in escprima
3. replace RELEASE_ASSERT_NOT_REACHED() with throwing parse error in esprima
4. impement size limit of String
5. expose config parameters in Escargot.h

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-22 16:01:26 +09:00
seonghyun kim
4741f27e41 1. resolve jump positions when generating byte code
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>
2017-02-21 12:49:05 +09:00
seonghyun kim
76a249913a 1. give limit to variable count & register count
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>
2017-02-18 00:54:59 +09:00
seonghyun kim
fd9fc94072 1. reduce byteCode Register size
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>
2017-01-17 18:27:24 +09:00
seonghyun kim
823689865e fix order of assignmentExpression
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-06 18:29:07 +09:00
Junyoung Cho
f7a22f54fc Apply clang-formatting 2016-12-08 14:53:01 +09:00
seonghyun kim
7c47c6ed51 1. implement simple ByteCode (load, store, binary plus)
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>
2016-11-29 22:40:21 +09:00
seonghyun kim
70f822134c implement part of esprima::Parser in c++
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-11-22 19:08:57 +09:00
seonghyun kim
f380ffce9b 1. add ast nodes
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>
2016-11-18 21:02:53 +09:00