Seonghyun Kim
e78a2432cd
Every value can be used in callDynamicImportRejected function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-03 15:14:39 +09:00
Seonghyun Kim
32f1ebbd26
Fix bug in callConstructor with class
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-19 14:32:57 +09:00
Seonghyun Kim
1e1599aa09
Implement ValueRef::callConsturctor
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-13 16:14:22 +09:00
HyukWoo Park
5fcdf4e101
Fix generation of arguments object used in nested arrow functions and eval codes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-05 10:38:47 +09:00
HyukWoo Park
1050ee4f5b
Update TCO debug mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-06-05 11:06:25 +09:00
HyukWoo Park
77f0c49ad5
Add ESCARGOT_USE_EXTENDED_API build option to managed APIs used only for third party
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-14 10:08:26 +09:00
HyukWoo Park
f039511557
Fix calculation of outer limit of complex jump correctly
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-02 10:17:14 +09:00
HyukWoo Park
86525d1000
Fix object set inline caching method
...
* fix inline caching to insert a new cache item after validation
* refactor set inline caching method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-12 13:50:42 +09:00
HyukWoo Park
023b7ea014
Implement general tail call optimization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-02-20 17:16:10 +09:00
HyukWoo Park
c4ab1cf57d
Merge tail call bytecodes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-02-05 14:19:01 +09:00
Seonghyun Kim
c884c0605b
Improve Object creation performance
...
* Convert rootedObjectStructureSet(Vector) into HashSet
* Use inline storage for properties in CreateObjectData
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
2b6e3fcc7d
Update object creation code from script
...
* Use ObjectCreatePrepare code everytime
* Implement simple inline-cache object structure in ObjectCreatePrepare
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
bd95de3c46
Implement more things for CreateObjectPrepare operation
...
* It should support methods and spread element
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-18 16:40:37 +09:00
Seonghyun Kim
ded2d1145e
Introduce new way of create object in script
...
* Prepare the property and key list before object creation
* The new way reduce size of object structure with transition
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-18 16:40:37 +09:00
HyukWoo Park
ca43b39174
Revise Symbol description getter methods
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-10 14:34:43 +09:00
Seonghyun Kim
1b9be45708
Add Generic-BlockInfo for reducing memory usage of BlockInfo
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-28 09:31:13 +09:00
Seonghyun Kim
b0543cfe9c
Use realloc for ByteCodeGeneration
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-28 09:31:13 +09:00
HyukWoo Park
1a5b10b821
Simplify TCO check code
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-23 08:26:09 +09:00
HyukWoo Park
11d9427bb8
Update TCO to handle tail recursion with non-identical argument counts
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-23 08:26:09 +09:00
Seonghyun Kim
48150217a8
Divide ExectuionState to ExecutionState and ExtendedExecutionState(with rareData)
...
* This path reduce gc_malloc count for try-catch, with, generator, async function
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-20 13:31:17 +09:00
Seonghyun Kim
4f8582ec25
Compute stacktrace when creating ErrorObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-09 12:15:14 +09:00
HyukWoo Park
4581040747
Implement TCO for try-catch-finally block
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-08 15:16:42 +09:00
HyukWoo Park
49fd86eae8
Enable try operation APIs only for test mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-25 11:23:41 +09:00
HyukWoo Park
28f1f0fb0b
Remove unused parameter in toBoolean method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-25 11:23:41 +09:00
HyukWoo Park
f41a422302
Fix execution state traversal in stack tracing
...
* fix stack tracing to correctly add execution state in the middle of multiple state links
* remove redundant checks in stack tracing
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-17 17:46:14 +09:00
HyukWoo Park
f56ea256b4
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-08-11 15:07:48 +09:00
HyukWoo Park
b980f68488
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-07-25 10:47:49 +09:00
Seonghyun Kim
87fda52727
Fix crash with ObjectStructureWithMap and inline cache
...
If inline cache refers ObjectStructure, ObjectStructure should keep its contents.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-20 10:58:53 +09:00
HyukWoo Park
7b207535e3
Fix minor defect
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-07-14 13:31:37 +09:00
Seonghyun Kim
4913754c32
Implement building with clang-cl
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-12 16:46:42 +09:00
Seonghyun Kim
a2886b8db1
Update source and test driver for running test262 on windows
...
* Update test262 driver for python3 and windows
* Update DateFormat for windows
* Fix compiler warnings on Win64
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
34182762c1
Fix evaluation bug of UpdateExpression with MemberExpression
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-14 12:38:57 +09:00
HyukWoo Park
e84107d418
Remove unused parameters in ByteCode macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-31 12:49:24 +09:00
HyukWoo Park
e275ba66f5
Remove an unused variable in ALLOCA
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-31 12:49:24 +09:00
HyukWoo Park
7e68583b56
Fix a bug that interpreter reuses an argument buffer of caller in tail call
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-30 14:20:41 +09:00
HyukWoo Park
1fbf4872c7
Add a build option of tail call optimization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-08 17:05:02 +09:00
HyukWoo Park
283873a291
Implement basic tail call optimization for normal function
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-03 11:18:25 +09:00
HyukWoo Park
0e0b759817
Include breakpoint bytecodes only for debugger mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-03 11:18:25 +09:00
HyukWoo Park
c8cc70d83e
Update Stack Overflow checker and disabler
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-17 09:16:01 +09:00
Seonghyun Kim
dd010ab68e
Divide Value::Value(double) into Value(DoubleToIntConvertibleTestNeedsTag, double) and Value(UnconvertibleDoubleToInt32 v)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-06 16:41:23 +09:00
Seonghyun Kim
7414ebda02
Introduce new Value ctor for NaN, Infinity regard to fix arm clang issue
...
arm clang optimizer cannot generate correct code
with Value(std::numeric_limits<double>::quiet_NaN())
or Value(std::numeric_limits<double>::infinity())
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-04 14:12:32 +09:00
HyukWoo Park
bf3f885519
Remove cycle dependency from interpreter to parser
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
de4c7eb0db
Eliminate duplicated code
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
2046b1faa9
Divide Interpreter module into Interpreter and InterpreterSlowPath
...
* to reduce the total size of Interpreter module
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
9f93022d78
Unlink circular dependency between runtime and parser source codes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
22c8ca389e
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-06 15:22:53 +09:00
Seonghyun Kim
6002bb00b6
Fix Android build properties & fix interpreter for clang
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-12 17:04:03 +09:00
HyukWoo Park
81bcf2ed13
Enable threaded interpreter for arm64 architecture
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-05 10:44:31 +09:00
Seonghyun Kim
ea0c2c4c82
Reduce ObjectStructure memory usage
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-10-28 09:46:07 +09:00
HyukWoo Park
cb31d43274
Fix minor defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-10-24 10:51:24 +09:00