Commit graph

38 commits

Author SHA1 Message Date
Junyoung Cho
643d608d99 1. Fix gbs build error for debug: resolve uninitialize error
2. Fix bytecode generation bug in with
2017-02-13 12:59:16 +09:00
seonghyun kim
272c675e2e 1. sperate ByteCodeBlock::computeNodeLOCFromByteCode
2. implement selective clearing Stack
- only blockes have object, array, new expression are cleared by ClearStack function now
3. improve get object inline cache
4. remove CodeBlock::hasNonConfiguableNameOnGlobal
5. add thisValue in ExecutionState
6. optimize Value::abstractEqualsToSlowCase

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-13 10:36:25 +09:00
seonghyun kim
132f7f5316 1. implement Latin1String for reducing memory usage
2. add Makefile as dependency of make

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-02-03 19:06:15 +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
Eunji Jeong
16d30378c2 Enable make run-jsc-stress and improve some error messages 2017-01-17 23:17:00 +09:00
Eunji Jeong
e16ca9b621 Builtin load function should execute script with isOnGlobal=true 2017-01-10 21:01:32 +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
b48a1ee9a2 1. fix bug in Object::getOwnPropertyUtilForObjectAccCase
2. remove throw exception in Global.load

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-09 13:22:49 +09:00
seonghyun kim
7490ff4a3c 1. implement rest of TypedArray builtin functions for octane
2. fix find arguments in typeof expression

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-06 19:57:00 +09:00
seonghyun kim
f112dfefd2 1. fix wrong usage of ObjectPropertyDescriptor::NotPresent
2. add ArrayBufferObject

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-05 03:24:02 +00:00
seonghyun kim
9405b56d82 1. fix setting array length bug
2. optimze reduce array length
3. implement escape, unescape
4. implement rest of Array.prototype builtin functions

this patch pass all of test262(5.1)

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2017-01-04 12:35:54 +00:00
Junyoung Cho
4bb8328055 Implement decodeURI, decodeURIComponent, encodeURI, encodeURIComponent 2016-12-30 15:24:09 +09:00
Eunji Jeong
c8840465d1 Pass tests in es5 test262 ch15.2.3.3 (except for URI-related features)
- Add every builtin function templates in es5
- Modification on Makefile target "check" should not trigger rebuild
- Add JSON object
- Implement some toString functions
- Initialize m_value properly in ObjectPropertyDescriptor constructor
2016-12-29 22:39:02 +09:00
Eunji Jeong
fb9e4a48c3 Eval code is strict if the call to eval is a direct call from strict code 2016-12-29 16:24:20 +09:00
Junyoung Cho
8c40f310de Fix eval scope by indirect call in strict mode.
** ES5 10.4.2.1, ES6 18.2.1.1
2016-12-28 13:41:43 +09:00
Junyoung Cho
5db9956dfb Consider eval scope in strict mode. 2016-12-27 20:55:12 +09:00
Youngil Choi
2916daa9a6 Rename HeapProfiler.h to LeakChecker.h in src/heap
Rename HeapProfiler.cpp to LeakChecker.cpp in src/heap
2016-12-27 14:28:57 +09:00
Junyoung Cho
0f9f888089 1.Always do not create new context in case of calling built-in eval function.
- changed the condition pushing CallEvalFunction bytecode in CallExpression AST.
2.Fix built-in Function constructor bug
2016-12-27 13:20:17 +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
Junyoung Cho
0faef8219f - Apply strict within eval from outside strict context
- Fix octal bug in parser
2016-12-23 10:19:51 +09:00
Junyoung Cho
06dfa5c0dc Implement isFinite, isNaN 2016-12-21 18:25:36 +09:00
seonghyun kim
951cc62e8c implement Function ctor
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-20 18:51:52 +09:00
Eunji Jeong
36c293c12f Pass tidy check 2016-12-20 14:36:48 +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
Eunji Jeong
1a56fe4e48 Add custom allocator for precise marking and add more tools
* CustomAllocator : Supports precise marking for specified objects.
                    (also supports iteration of specific typed objects)
* HeapVisualizer : Track and visualize heap usage info.
* GCLeakChecker : Shows where the false reference came from.
                  (Developer should specify the location of false reference)
* Add support for incremental build of bdwgc
2016-12-20 11:14:07 +09:00
Junyoung Cho
ac9b7b10f5 rename:
ObjectPropertyDescriptor->ObjectStructurePropertyDescriptor
ObjectPropertyDescriptorForDefineProperty->ObjectPropertyDescriptor
2016-12-19 20:52:18 +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
c22735e9b3 implement String.prototype.match, parseInt
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-14 18:55:05 +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
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
Junyoung Cho
f7a22f54fc Apply clang-formatting 2016-12-08 14:53:01 +09:00
seonghyun kim
f2e8463092 1. redesign Object api
2. implement ObjectPropertyName type

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 22:10:23 +09:00
seonghyun kim
6a758afc72 1. implement new, this expression
2. implement Math.max
3. implement unary plus, minus
this patch pass access-binary-trees.js

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-07 18:44:47 +09:00
seonghyun kim
887758e247 1. implement basic of Builtin Object, Function
2. implement Error Objects
3. implement basic errors

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2016-12-02 20:49:04 +09:00