Commit graph

1,561 commits

Author SHA1 Message Date
HyukWoo Park
b6860b13f9 Disable unsupported debugger keyword message
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-18 11:25:53 +09:00
HyukWoo Park
a2b62f7c9f Remove trivial try-catch statements
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-08-18 20:22:40 +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
b09fdcb929 Replace redundant sandbox runs with try-catch statement
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
498966bca1 Implement riscv64 build support
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-24 16:57:25 +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
Seonghyun Kim
74735f9029 Update public API for using NewTarget from outside of escargot
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-18 18:58:52 +09:00
Seonghyun Kim
0c834fe76d Update Jenkinsfiles
* add arm64 version of jenkins
* fix arm64-gcc issue

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-18 16:44:16 +09:00
Seonghyun Kim
0927db97c5 Fix issues on ARM32
* convert Infinity into int64_t not produces same result with x86.
* Unaligned 8-byte access on ARM64 causes SIGBUS

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-17 10:04:23 +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
1353d2e1a5 update shell
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
67216fcac9 Replace gc-allocated std::{unordered_map,unordered_set} with robin-{map,set}
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
3a3ef88853 Implement building on Win64
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-29 10:12:59 +09:00
Seonghyun Kim
0596de75c8 Update windows build
* using cmake instead of maintain another files for windows
* delete own ICU build files for windows
* Fix some bugs running on windows

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-22 13:31:23 +09:00
Seonghyun Kim
3aaded1210 Use ucal_* API instead of vzone_* API of ICU
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-19 11:37:25 +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
Seonghyun Kim
c352be9893 Use tryToUseAsIndex32 instead of toIndex in JSON string replacer
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-31 14:30:10 +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
Seonghyun Kim
0c1a12541b Update test driver
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
3894bfec5d Enable more v8 tests
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
e007a9d4eb Fix minor issues
* when computuing byteLength of ArrayBuffer,
we should use 64-bit integer regard to overflow
* Adding missing ASTAllocator::clear
* Proxy object should care infinity loop

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
eb1380ea95 Implement SIGSEGV, SIGABRT handler for easier debugging on android
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-19 13:45:56 +09:00
HyukWoo Park
0285779f67 Expand TCO on nullish and conditional expression
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-11 15:57:28 +09:00
HyukWoo Park
f621248ccc Update tail calls not to generate End bytecode
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-11 15:57:28 +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
Seonghyun Kim
6fcb1afb47 Android should use large-64bit mode when exporting aar
+ set abort handler to bdwgc

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-02 17:56:35 +09:00
HyukWoo Park
02e9b999e9 Fix error in optional chaining
* should trigger an exception when callee or target object is indeed undefined in optional chaining

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-28 12:14:30 +09:00
Seonghyun Kim
f9c41a5c65 AssignmentExpressionSimpleNode should have own getRegsiter method
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-27 16:21:18 +09:00
Seonghyun Kim
9a29ca809d Use getprop command instead of ICU for getting system timezone
* Old version of ICU doesn't return IANA timezone id when call ucal_getDefaultTimeZone

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
6a84aefa64 We need to check the callback was deleted before calling in FinalizationRegistryObject
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
6b43e1c44a Fix float conversion problem
* Use Value(NanInit) function instead of Value(DoubleToIntConvertibleTestNeedsTag, double)
* in armeabi-v7a, Inf to int64_t can return unexpected value

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
bcbbfe212d Reading float unaligned address raises SIGBUS in armeabi-v7a
* read unaligned address as int & turn off optimization

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
7a98a9ba52 Update timezone and locale codes
* Use ICU function for reading default system timezone
* Update default locale reading logic(remove POSIX postfix & ignore 'C' locale)
* Refactor global timezone, vzone, tzname codes

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-20 20:48:23 +09:00
Seonghyun Kim
e4bb91a79f Use int8_t instead of char
* c++ spec not specify char is signed

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-20 20:48:23 +09:00
Seonghyun Kim
e4e7144f94 Fix bugs
* Replace strlen with strnlen in BuiltinRegExp
* Don't use compiler builtin atomic operation in ARM
* Atomics.isLockFree(4) always returns true

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-17 14:22:18 +09:00
HyukWoo Park
c35bd083b5 Remove unused member in ByteCodeGenerateContext
* remove m_openedNonBlockEnvCount

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-17 09:16:01 +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
fbbad63f6e Update android build files
* build libescargot as static in android
* Add native shell build in order to run test case on android
* Add missing license text for jni
* Update android shell app

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-10 20:02:17 +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
4b3dec1d17 Relieve code complexity in intl modules
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
adef94b097 Reduce code complexity in builtinStringReplace method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
f4aebb65ba Reduce Cyclomatic Complexity (CC) in Intl and Date
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00