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
5d36237438
Change receiver type to Value instead of Object* (consider receiver with primitive type)
2017-01-02 12:59:52 +09:00
Eunji Jeong
8f882fd6d9
Assign string type as for-in LHS
...
- Implement Object.keys ( O )
- Fix bug in String::tryToUseAsArrayIndex
2016-12-30 15:04:52 +09:00
Junyoung Cho
9073685c5f
Implement Function.prototype.bind
2016-12-29 18:00:00 +09:00
Eunji Jeong
04768e7555
Throw in catch/finally clause should be handled correctly
2016-12-29 16:24:20 +09:00
Eunji Jeong
6db46a1f27
Pass more tests in test262 ch12
...
- The values of [[Enumerable]] attributes are not considered when
determining if a property of a prototype object is shadowed by a
previous object on the prototype chain.
- Handle different object initializer syntax in ES5-ES6
- Parser should not be in function body at initialization
2016-12-28 16:15:53 +09:00
Junyoung Cho
1e43b5fa10
Consider 'delete arguments'
2016-12-26 19:56:04 +09:00
seonghyun kim
d2a17f1be3
1. implement parseFloat
...
2. implement missing functions in Math
3. Fix delete expression bug
4. Fix Error Object bug
5. implement String.prototype.reverse
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-23 23:24:11 +09:00
seonghyun kim
5bca24da82
1. implement ObjectDefineOwnPropertyOperation
...
2. Add errorcode in ScriptError
3. Fix array length bug
4. Fix ObjectPropertyDescriptor::ObjectPropertyDescriptor(ExecutionState& state, Object* obj)
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-23 22:21:22 +09:00
seonghyun kim
12e538992b
implement arguments object
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-23 16:11:49 +09:00
seonghyun kim
0f807e269a
1. implement Array.prototype.push
...
2. Fix bug in Object::defineOwnProperty
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-22 20:55:22 +09:00
seonghyun kim
3a9c739cc1
fix object set receiver bug
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-22 11:19:53 +09:00
seonghyun kim
30356c1d81
1. implement Object.prototype.__proto__
...
2. remove __proto__ in Object
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-21 20:23:55 +09:00
seonghyun kim
f592b96cab
implement object getter setter
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-21 15:51:38 +09:00
seonghyun kim
24ff648fe7
implement basic of JSGetterSetter
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-21 12:39:39 +09:00
seonghyun kim
568825a04e
implement with statement
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-20 16:26:17 +09:00
seonghyun kim
11e625f373
1. implement instanceof, in, delete operator
...
2. VariableDeclaratorNode does not affect execute result
3. optimize Object get, set in interpreter
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-20 13:31:49 +09:00
Junyoung Cho
ac9b7b10f5
rename:
...
ObjectPropertyDescriptor->ObjectStructurePropertyDescriptor
ObjectPropertyDescriptorForDefineProperty->ObjectPropertyDescriptor
2016-12-19 20:52:18 +09:00
seonghyun kim
ede6c59367
1. implement try-catch-finally
...
2. implement labeled continue, break statement
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-19 20:46:12 +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
9166303dcc
1. optimize String::equals
...
2. optimize object get, set in interpreter
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-19 15:14:19 +09:00
seonghyun kim
e1c48390a7
1. implement String, Number proxy object
...
2. optimze Script Parser(esprima)
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-19 14:29:34 +09:00
seonghyun kim
94f79a2c42
1. improve trace stack
...
2. remove Load,Store GlobalName
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-16 19:40:11 +09:00
seonghyun kim
a004d7df80
optimze object access
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-16 17:44:26 +09:00
seonghyun kim
dd3d5af4a3
1. optimze Function::call
...
2. optimze Object access
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-16 11:52:11 +09:00
seonghyun kim
61eb45b0c7
1. optimize String buffer acquire functions
...
2. implment String.prototype.toLowerCase, toUpperCase
3. implment Array.prototype.sort
4. fix codeBlock bugs
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-15 11:37:25 +09:00
seonghyun kim
2d32445f45
implement ConditionalExpressionNode
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-14 16:49:15 +09:00
seonghyun kim
1dd949ab26
implement String.fromCharCode, data.charCodeAt
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-14 16:42:41 +09:00
seonghyun kim
64a56ae946
1. re-implement Object::defineOwnProperty
...
2. implement String.prototype.match, replace
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-14 16:17:11 +09:00
seonghyun kim
eb18661b6e
1. implement for (var i in ...)
...
2. implement parse RegExp in script
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-14 10:51:11 +09:00
seonghyun kim
88a79914ae
implement for-in statement
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-13 19:50:04 +09:00
seonghyun kim
a8b046f8de
1. implement StoreByName correctly
...
2. implement String.prototype.substring
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-13 15:21:43 +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
seonghyun kim
8acbfcfe52
1. split Vector into TightVector and Vector
...
2. implement basic of DateObject
3. implement continue statement
this patch passes 3d-raytrace.js
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-09 13:56:54 +09:00
seonghyun kim
c34e6da780
1. implement StringObject
...
2. implement Array.prototype.join, toString
3. implement Math.abs, Math.min....so on
4. implement Object::enumeration
this pass 3d-cube.js, 3d-morph.js
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-08 21:45:17 +09:00
seonghyun kim
efb82ad9b5
1. implement ArrayObject
...
2. implement UnaryNot, Math.sqrt, break statement
3. add make tidy
this patch pass bitops-nsieve-bits.js, access-fannkuch.js, access-nbody.js
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-08 17:25:48 +09:00
Junyoung Cho
f7a22f54fc
Apply clang-formatting
2016-12-08 14:53:01 +09:00
seonghyun kim
f2e8463092
1. redesign Object api
...
2. implement ObjectPropertyName type
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 22:10:23 +09:00
seonghyun kim
3946953e1d
fix set object inline bug
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 18:57:58 +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
0f142b8660
implement inline-cache
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 13:40:08 +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
99aab0556f
implement StoreByGlobalName, LoadByGlobalName
...
this only for non-configureable global variables
they have inline-cache about property index in global object structor
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-01 20:20:32 +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