Commit graph

71 commits

Author SHA1 Message Date
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
Eunji Jeong
f72b0fdc9a Avoid accidential GC of exception value 2017-01-16 17:12:42 +09:00
seonghyun kim
abc8d38ff7 optimize Object::enumeration
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-13 14:37:38 +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
109be415d1 1. remove Increment, Decrement opcode
2. implement fast String buffer access
3. remove hash from AtomicStringMap
4. implement simple dtoa cache

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-12 21:30:26 +09:00
seonghyun kim
baeab5a6ac 1. optimze interpreter
2. optimze getThisBinding operation
3. optimze esprima::scanStringLiteral
4. optimze ObjectStructurePropertyDescriptor

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-11 12:39:06 +09:00
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