Seonghyun Kim
ca7b289dd1
When closing the iterator, handle exceptions that occur when retrieving the return function correctly.
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 21:11:36 +09:00
Seonghyun Kim
fff09af8c3
Implement basic of await using statement
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
26a2d9d39c
Fix using statement bugs
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
954b5bc77f
Implement basic of using variable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
9b2f4723e8
Fix reading attribute code on dynamic import
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-03 14:27:34 +09:00
Seonghyun Kim
d92a795390
Update clang-format version to 20
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 18:39:28 +09:00
Seonghyun Kim
4c6220f22c
Move tcoBuffer variable from ByteCodeInterpreter to ThreadLocal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-23 17:31:19 +09:00
Seonghyun Kim
2c0c041c9a
Improve TLS valriable r/w on ELF shared-libary
...
since calling __tls_get_addr performace is too bad, we should r/w TLS variables with special offset
users can turn on this feature with ESCARGOT_ENABLE_TLS_ACCESS_BY_ADDRESS flag
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-14 14:34:31 +09:00
Seonghyun Kim
7b95d4e9b8
free CreateObjectPrepare::CreateObjectData explicitly since CreateObjectData is big
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
ecf2a586b7
Optimize StringBuilder for huge String
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-07 11:11:38 +09:00
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