Commit graph

47 commits

Author SHA1 Message Date
seonghyun kim
adc1b3cea1 1. optimze write, read global object in interpreter
2. optimze write, read object in interpreter

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-09 20:15:15 +09:00
seonghyun kim
b48a1ee9a2 1. fix bug in Object::getOwnPropertyUtilForObjectAccCase
2. remove throw exception in Global.load

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-09 13:22:49 +09:00
Eunji Jeong
b79536b9c9 Support full functionalities of Promise object 2017-01-05 13:28:07 +09:00
seonghyun kim
c970d99552 1. fix bug in Object::nextIndex*
2. implement ::generateCodeBlockTreeFromASTWalkerPostProcess

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-04 15:22:12 +09:00
seonghyun kim
2057250e48 implement Array.prototype.indexOf, Array.prototype.lastIndexOf
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-04 15:18:58 +09:00
seonghyun kim
2ab167a980 1. add m_isRemovedOnRedefineProperty on NativeGetterSetter data
2. add rest of arguments test in test262 5.1

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-04 11:14:52 +09:00
seonghyun kim
d6a08e6c82 re-implement ArgumentsObject index getter, setter(non-strict mode)
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-03 21:07:07 +09:00
seonghyun kim
7a7d339161 re-implement set ArrayLength
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-03 17:51:35 +09:00
seonghyun kim
1c3de89dfd implement Array.prototype.shift
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-03 17:51:35 +09:00
Eunji Jeong
709b364547 Pass test262 Object.prototype.defineOwnProperty tests except for arguments 2017-01-03 12:07:54 +09:00
seonghyun kim
9340d87ded 1. fix ArrayIndex uint32 into uint64
2. fix Invalid ArrayIndexValue into 2^32 + 1
3. fix Array.prototype.push bug
4. implement part of Array.prototype.splice

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-02 21:33:59 +09:00
seonghyun kim
a85ee09334 re-implement arguments object binding
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-02 16:10:26 +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
35a41bf412 Fix some of bugs in [[DefineOwnProperty]] 2016-12-30 14:07:02 +09:00
Eunji Jeong
c8840465d1 Pass tests in es5 test262 ch15.2.3.3 (except for URI-related features)
- Add every builtin function templates in es5
- Modification on Makefile target "check" should not trigger rebuild
- Add JSON object
- Implement some toString functions
- Initialize m_value properly in ObjectPropertyDescriptor constructor
2016-12-29 22:39:02 +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
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
e8fd156630 implment Object [[class]] internal property
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-23 11:39:40 +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
3d16ed27df 1. implement Object.preventExtensions, Object.getPrototypeOf, Object.prototype.valueOf
2. Fix bug in Object::set
3. Fix bug in Object::defineOwnProperty
4. implement function Number correctly
5. set prototype of String, Number object correctly

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-22 17:12:16 +09:00
seonghyun kim
78eea30c84 implement Object.getOwnPropertyDescriptor
implement Array.prototype.reduce

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-22 15:42:03 +09:00
seonghyun kim
5066ff44b6 implement bad time
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-22 12:49:10 +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
Eunji Jeong
36c293c12f Pass tidy check 2016-12-20 14:36:48 +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
b2ea88b251 -Implement Object.create.
-Move toString for shell result into sandbox to resolve throw exception.
2016-12-20 12:51:20 +09:00
Junyoung Cho
ac9b7b10f5 rename:
ObjectPropertyDescriptor->ObjectStructurePropertyDescriptor
ObjectPropertyDescriptorForDefineProperty->ObjectPropertyDescriptor
2016-12-19 20:52:18 +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
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
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
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
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
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
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
3e1787dd85 implement basic object operation(get,set ownproperty)
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-11-24 17:54:47 +09:00
seonghyun kim
485fbc25af initial commit
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-11-17 22:19:49 +09:00