Commit graph

65 commits

Author SHA1 Message Date
seonghyun kim
fefa16daaa 1. reduce default ast Node size
2. don't useless info in esprima
3. implement pool of ScannerResult in esprima
4. optimize SetGlobalObject, GetGlobalObject

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-10 19:46:46 +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
fcc6038ec5 speed up read/write object in interpreter
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-09 21:00:47 +09:00
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