seonghyun kim
e305e378cb
1. add CodeBlock::m_hasArgumentsBindingInParameterOrChildFD for boost FunctionObject::call performance
...
- hasArgumentsBindingInParameterOrChildFD is computed every function calling before
2. computing ExtendedNodeLOC bug with global CodeBlock when source code has comment at the front
3. add default object structor for arguments object
4. implement Object::getIndexedProperty, Object::setIndexedProperty
5. use SmallValueVector in Env record instead of ValueVector
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-13 10:36:25 +09:00
seonghyun kim
438cdfcb38
1. process \r\n pattern in ByteCodeBlock::computeNodeLOCFromByteCode correctly
...
2. use stackStorage for "arguments" object
3. do not insert empty name for ASTScopeContext when comes emptyString in FunctionExpression name
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-03 13:19:51 +09:00
seonghyun kim
ef9e0ed699
1. reduce ByteCode size with remove loc
...
2. store ByteCodeLOC in ByteCodeBlock & lazy store loc
3. optimize builtin Array.prototype.splice
4. optimize Value::toNumberSlowCase
5. optimize arguments object
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-02 19:14:35 +09:00
seonghyun kim
30969cc0a3
1. track using identifier correctly in esprima
...
2. remove useless new operation
3. use Indexed storage for CodeBlock has arguments binding
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-02 12:17:04 +09:00
seonghyun kim
ca93d380e1
1. reduce stack usage of ByteCodeInterpreter
...
2. remove memset warning from fillStack
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-25 19:25:33 +09:00
Eunji Jeong
b3ff7a3a7d
Clear stack before executing interpreter loop to reduce leak from stack
2017-01-25 13:21:26 +09:00
seonghyun kim
389e767ae8
use indexed load/store for catch block partially
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-23 13:50:48 +09:00
seonghyun kim
2fc34d628a
1. use typed allocate for all long-live objects
...
2. implicitly delete AST when ast is useless
3. allocate String::emptyString correctly
4. hide ptr in LeakChecker for better tracing
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-20 15:51:47 +09:00
seonghyun kim
dbbbdf2374
allocate almost gc objects as typed gc object
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-18 20:28:45 +09:00
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