* Store ArgumentsObject into Env record with functionObject
* Introduce gc memory leak checker
* Don't save stack pointer in ArgumentsObject
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* Make to run chakracore, v8, jsc-stress test parallelly
* Make to call backtrace() faster on test262. this improves running speed of debug binary.
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* treat variable in catch() as let
* add lexical environment record data into global environment for saving global permanently
* re-implement variable access bytecode generation
* re-implement class initialize operation
* re-implement global variable access bytecode for support lexcial variables in global
* fix bugs related with per-iteration lexical environment in for-statement
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
* in most cases, parsing and bytecode generation process runs sequentially
* parsing error throws SyntaxError exception inside sandbox and this exception will be catched by the sandbox
* clear up some complicated code
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* isFunction is replaced with isCallable check function
* call operations in Promise / TypedArray are fixed
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
State without Context is rare, and the merged structure consumes less amount of memory.
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
Added a boehm-gc heap usage monitoring feature to the project.
A runtim flag (--mem-stats) helps to show the collected informaion.
Renamed ESCARGOT_PROFILE_MASSIF to ESCARGOT_MEM_STATS in the CMake.
Of course, Valgrind based tools still can be used. In this case, the
project should be compiled with ESCARGOT_VALGRIND definition.
Signed-off-by: Roland Takacs <rtakacs.uszeged@partner.samsung.com>
* change to include assert guard code for getValue of NullablePtr
* when exception occurred, the result value is set to undefined which is never used but to avoid guard fail in NullablePtr
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2. alloc esprima::Error as Non-GC type.
- it can be thrown. but, bdwgc can not see try-catch variable area.
3. Use own context when eval, function are invoked.
4. implement fake-Realm class for v8 vender test
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
- Also renamed shell.cpp to Shell.cpp.
- Next, I will add StringRef APIs and expose ScriptSandboxExecuteResult
and add testcase for evaluateScript.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>