Commit graph

26 commits

Author SHA1 Message Date
seonghyun kim
e362acb82d 1. store thisValue in stackStorage instead of ExecutionState
2. remove GetThis byte code
3. optimize Function::call
4. optimize {get, set} of TypedArrayObject

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-14 18:32:15 +09:00
seonghyun kim
272c675e2e 1. sperate ByteCodeBlock::computeNodeLOCFromByteCode
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>
2017-02-13 10:36:25 +09:00
seonghyun kim
ef9e0ed699 1. reduce ByteCode size with remove loc
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>
2017-02-02 19:14:35 +09:00
seonghyun kim
ca93d380e1 1. reduce stack usage of ByteCodeInterpreter
2. remove memset warning from fillStack

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-25 19:25:33 +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
96293e2716 wip
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-12 22:15:52 +09:00
seonghyun kim
824e750e8a 1. argument order of FunctionObject::call is fixed
2. connect ExectionContext in GlobalObject::eval
3. remove ByteCodeBlock if needed

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-10 15:56:23 +09:00
seonghyun kim
7490ff4a3c 1. implement rest of TypedArray builtin functions for octane
2. fix find arguments in typeof expression

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-06 19:57:00 +09:00
Junyoung Cho
abeccf8098 Use DeclarativeEnvironmentRecordNotIndexed instead of FunctionEnvironment for new environement record in strict eval.
- fixed typo: DeclarativeEnvironmentRecord[NotIndexded->NotIndexed]
2017-01-02 14:32:48 +09:00
Junyoung Cho
aa7a06853e 1.Fix setter register bug
2.Set Thisbinding right in eval of strict mode
2016-12-28 15:08:36 +09:00
Junyoung Cho
8c40f310de Fix eval scope by indirect call in strict mode.
** ES5 10.4.2.1, ES6 18.2.1.1
2016-12-28 13:41:43 +09:00
Junyoung Cho
5db9956dfb Consider eval scope in strict mode. 2016-12-27 20:55:12 +09:00
Junyoung Cho
b2ea88b251 -Implement Object.create.
-Move toString for shell result into sandbox to resolve throw exception.
2016-12-20 12:51:20 +09:00
seonghyun kim
6e5fb90eec remove StackStorage from ExecutionContext, add RareData to ExecutionContext
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-19 15:48:18 +09:00
seonghyun kim
ba6400045c implement basic of try-catch statement
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-13 13:23:14 +09:00
seonghyun kim
35142d1c6a implement eval
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-12 14:34:31 +09:00
Junyoung Cho
f7a22f54fc Apply clang-formatting 2016-12-08 14:53:01 +09:00
seonghyun kim
6a758afc72 1. implement new, this expression
2. implement Math.max
3. implement unary plus, minus
this patch pass access-binary-trees.js

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 18:44:47 +09:00
seonghyun kim
288b147659 1. implement tracing stack when got exception
2. binding function name
3. implement sandbox for isolate throw exception
4. implement object expression
5. implement get, set object operation
6. implement logical and, or operation

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-06 22:22:04 +09:00
seonghyun kim
ef2987e8b4 1. implement binary operations (+, -, *...)
2. implement assigment complex cases( +=, -=...)
3. implement update expressions (++, --)
4. implement if, for statement
5. implement RopeString
6. implement throw statement

this patch passes bitops-bitwise-and.js, bitops-3bit-bits-in-byte.js

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-05 21:49:42 +09:00
seonghyun kim
887758e247 1. implement basic of Builtin Object, Function
2. implement Error Objects
3. implement basic errors

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-02 20:49:04 +09:00
seonghyun kim
782f489712 implement PropertyName type
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-01 16:53:57 +09:00
seonghyun kim
d587becaf3 1. implement indexed Storages for function
2. implement function call

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-01 14:43:06 +09:00
seonghyun kim
a545adebf5 implement declare var, Function Decl, Function Expression
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-11-30 19:01:37 +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
485fbc25af initial commit
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-11-17 22:19:49 +09:00