Commit graph

62 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
feb6a07048 1. fix primitive proxy object write bug
2. fix atod parsing bug
3. fix typed array subarray bug

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-09 16:54:19 +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
seonghyun kim
81a929e45a 1. implement ArrayBufferObject
2. use FastAccessObjectStructor for Built Function prototypes

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-05 16:59:55 +09:00
seonghyun kim
65e5d5ab7a fix ArrayObject::setFastModeValue
condition of enter NonFastMode is wrong

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-04 13:12:04 +00: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
Junyoung Cho
67f957ca47 Remove UnaryPlus Opcode to fix opcode duplication error in release mode
- use ToNumber instead
2017-01-03 17:35:56 +09:00
Junyoung Cho
35fbc7500d Consider with-object binding in function within with scope 2017-01-03 17:35:56 +09:00
Eunji Jeong
709b364547 Pass test262 Object.prototype.defineOwnProperty tests except for arguments 2017-01-03 12:07:54 +09:00
Junyoung Cho
ef5fccac36 Consider function call and arguments in with scope
- In the function called in with scope, 'this' can be either global or with object (S15.10.6.2_A1_T2)
2017-01-02 22:17:57 +09:00
seonghyun kim
32d921e59d implement UpdateExpression{Increment, Decrement} correctly(add tonumber operation)
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-02 18:26:29 +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
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