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