Commit graph

172 commits

Author SHA1 Message Date
Seonghyun Kim
8444ae515f Add receiver parameter to NamedPropertyHandlers
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-11 11:51:17 +09:00
Seonghyun Kim
480d567c1e Add a test for new public API ObjectTemplateRef::installTo
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-06 15:47:07 +09:00
HyukWoo Park
e3187e52ae Handle tagged template literal in CodeCache
* add relocation case for freeze function address
* remove empty strings from ByteCode and  ByteCodeBlock literal list

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-06 10:12:42 +09:00
Seonghyun Kim
f6760e1974 Add new NativeDataAccessor property test
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-03 19:02:49 +09:00
Seonghyun Kim
a30990e351 Add BackingStore test first
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-21 16:27:46 +09:00
HyukWoo Park
c4073deee7 Fix self-reference in class static field initialization
* handle class constructor as a virtual parameter which is passed for static field initialization function

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-13 15:32:36 +09:00
Seonghyun Kim
11ff71be71 Implement TemplateNamedPropertyHandlerGetPropertyDescriptorCallback on ObjectTemplate
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-30 09:03:42 +09:00
Seonghyun Kim
ec3fd74882 Update public API
* Add const for ObjectPropertyDescriptorRef member functions
* Add FunctionTemplateRef::setName

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-30 09:03:42 +09:00
HyukWoo Park
07d30825a0 Update BigInt exception handler
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-25 10:05:45 +09:00
HyukWoo Park
90522697eb Refactoring Job
* all types of job now handled in the task queue

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-16 09:34:31 +09:00
Seonghyun Kim
01e61f1242 Revise WeakMap and WeakSet
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-11 21:25:23 +09:00
Seonghyun Kim
a2d2bf01b8 Implement FinalizationRegistry.prototype.cleanupSome
* FinalizationRegistry should have weak reference of Object

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-09 17:47:27 +09:00
HyukWoo Park
cbc4723a26 Update test262 TC
* test262 main branch (commit id: fd27d1f5d00dcccc5f763252fc11b575ee0bdd2f)

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-08 18:40:51 +09:00
Seonghyun Kim
390261326e Store m_target of WeakRefObject as weak reference
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-03 12:18:02 +09:00
Seonghyun Kim
5016b7af3b Implement fast-path of super expression in static field initializer
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-15 11:39:57 +09:00
Seonghyun Kim
39e14bb0b6 Add correct toStringTag to Intl.Collator
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-22 14:21:40 +09:00
HyukWoo Park
de9ad39c74 Update WebAssembly static strings
* pass more TCs about Module
* fix wasm-js test script to include several script files at once
* update wasm-js TC

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-04 10:13:54 +09:00
HyukWoo Park
3fd16b168b Update stable copy of buffer bytes in WebAssembly compile
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-01 11:32:06 +09:00
HyukWoo Park
40b927adba Update wasm-js testsuite
* https://github.com/WebAssembly/spec/tree/master/test/js-api

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-19 21:33:47 +09:00
HyukWoo Park
3ea5aa661d Fix incorrect lexical block of nested class
* nested class expression right after the expends keyword should be handled outside of the outer class block

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-03 13:15:43 +09:00
Seonghyun Kim
606b59ecef Suppress false positve asan stack underflow error
+ hide public symbols if possible

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-24 14:03:57 +09:00
HyukWoo Park
c226d3e888 Add actions to test code cache
* print code cache logs for test mode

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-20 15:02:32 +09:00
Seonghyun Kim
4e9349b999 Implement ReloadableString
* turn off ALWAYS_INLINE in small config
* turn off hidden class transition table in small config

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-13 14:07:37 +09:00
HyukWoo Park
a77b341324 Fix a typeof bug related with arguments object in arrow function
* for typeof operation within arrow function, arguments object should be accessed from the outer environments properly

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-07 16:40:55 +09:00
Seonghyun Kim
ccdf475f9b Implement new config for smaller device
* In small config, we turn off SyntaxChecker for small binary size
* CompressibleString should get VMInstance instead of Context
* If ICU is disabled, we don't need unicode information in yarr
* Remove unused variable in yarr(RegExpJitTables)
* Fix lz4 compile error

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-06 14:07:11 +09:00
Seonghyun Kim
ba4763e888 Implement runtime part of dynamic-import
* Implement one of parsing error of module
* Fix one of stack usage error on FunctionObjectInlines

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-30 11:56:17 +09:00
Seonghyun Kim
25588dcb01 Implement NamedPropertyHandler API to ObjectTemplate
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-23 15:19:31 +09:00
Seonghyun Kim
906dbc6409 Add new api for Template
* Embedders can control (ESCARGOT_COMPRESSIBLE_COMPRESS_*) when compiling

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-17 11:30:04 +09:00
Seonghyun Kim
ca9b832a77 Introduce Object, FunctionTemplate
* Add cctest for Object, FunctionTemplates
* Fix one of EncodedValue <-> EncodedSmallValue conversion bug

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-29 12:38:39 +09:00
HyukWoo Park
c7cd152802 Update the latest test262
* for development of ECMAScript 2020 standard
* test262 commit ef12a8b11c4dc1222097df4e7ea87a441d82262a
* use script to automatically update excludelist.orig.xml file
* tools/test/test262/make_excludelist.py --arch={x86|x86_64} --engine={ESCARGOT_PATH}

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-06-24 15:32:30 +09:00
Seonghyun Kim
9b9f980cfe Reimplement initialize & executing Module according to newer spec
* Update test runner for running module tests in test262

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-05-22 18:34:57 +09:00
HyukWoo Park
b977ab7e54 Rework internal methods of TypedArray
* implement and apply CanonicalNumericIndexString for index calculating
* use size_t type for index variables instead of unsigned
* skip a non-standard TC in SpiderMonkey test

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-05-19 15:21:02 +09:00
Seonghyun Kim
a7e53a4524 Fixup minor things
* If we use Object::nextIndexBackward, Object::nextIndexForward with non ordinal object,
  we should not test existence of value for index(we would not call user-defined function)
* Generate more user-friendly callstack

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-05-06 11:27:31 +09:00
Achie
3fd2b67431 Add kangax runner
The runner clones down the files into test/kangax,
patches it with escargot, copies the runner into it,
and finally it runs and prints the results.

Signed-off-by: Bela Toth tbela@inf.u-szeged.hu
2020-03-30 15:45:23 +09:00
Seonghyun Kim
ae35a576f5 Implement more things according to newer ECMAScript spec
* Fix parser error related with async arrow function
* CodeBlock may have diffrent source code start position data(from `function` keyword)
  - new ECMAScript spec says we should make function source string from `function` keyword
* Apply new spec on builtin Function constructor
* AsyncFunctions must have correct initial properties

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-01-22 18:01:52 +09:00
HyukWoo Park
631ed5e662 Update the latest test262
* https://github.com/tc39/test262.git (commit 7040938bd06ded171250d1e945a969f90fb37165)
* add Jenkins parallel tasks for test262

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-11-21 15:02:08 +09:00
HyukWoo Park
4020f86e14 Update Escargot/new-es test submodule
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-11-18 15:56:15 +09:00
seonghyun kim
42231eba48 Implement basic behavior of async, await.
* Add ExecutionPauser for yield, await
* Add new public API

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2019-11-15 16:07:03 +09:00
HyukWoo Park
1ea5ac3945 Clear up redundant submodules and script files
* rapidjson (v1.0.2) forked from https://github.com/miloyip/rapidjson
* double_conversion (v2.0.1) forked from http://code.google.com/p/double-conversion
* checked_arithmetic forked from WebKit

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-11-07 14:37:25 +09:00
Patrick Kim
e91d0f0fe7 Improve execution performance (#491)
* Make ArgumentsObject light
* Implement lazy-creation of FunctionObject.prototype
* Don't copy ObjectStructor when executing Object::enumeration
* Use GC_REALLOC on Object, ArrayObject

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2019-11-04 11:18:03 +09:00
Boram Bae
f11752b532 Update to support new.target with Class and eval (#489)
* Pass more tests

Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2019-10-31 13:38:49 +09:00
Hyukwoo Park
6aa1ede203 Fix bugs about arrow function parsing and toStringWithoutException (#482)
* fix a case that arrow function is located at the first of script
* fix a case that toStringWithoutException is called with no SandBox

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-10-28 17:24:57 +09:00
Patrick Kim
f75945700a Fix various things (#476)
* Fixup canDeclareName in ASTContext
* Add more callstack information on API
* Add onDelete callback on VMInstance
* Add BloomFilter as util
* Use BloomFilter in ASTFunctionContext for find out variable name existence
* Optimize parser using InlineStorageVector

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2019-10-24 14:29:55 +09:00
Hyukwoo Park
ba161d7459 Fix case when functions located in parameter list (#468)
* functions in parameter list are scanned instread of skipping it
* fix #236 issue

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-10-17 18:46:03 +09:00
Patrick Kim
ba4631ae02 Fix public API errors & fix bugs (#466)
* When evaluate for-in, we should call [[Enumerate]] function & we shouldn't literate symbols and non-enumerable names.
* In esprima, we need to reset lastUsingName on {open, close}Block

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2019-10-17 11:20:06 +09:00
Boram Bae
5b43165375 Fix various bugs detected from vendor tests. (#464)
* In Proxy's defineOwnProperty, set settingConfigFalse to true if desc has a [[Configurable]] field and if desc.[[Configurable]] is false
* Use a length properly according to spec at each sort implementations
* Ignore tests where the only reason for the test failure is an error message difference

Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2019-10-15 17:17:51 +09:00
Boram Bae
b9bb171eac Fix some bugs related to Propertydescriptor and Array (#457)
* Create a property only when each field of desc presents at fromObjectPropertyDescriptor
* Add a ArrayIteratorPrototypeObject
* Call iteratorClose correctly at Array.from

Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2019-10-14 09:50:09 +09:00
Patrick Kim
87ca01b658 Implement indirect export, import (#453)
* Rename ambiguous variables names(src, source, fileName) into src, sourceCode
* Treat 'await' as keyword

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2019-10-08 18:25:05 +09:00
Hyukwoo Park
f06cd19f3d Update SpiderMonkey TC (#439)
* uneval builtinfunction is added to run spidermonkey TCs
* fork from https://github.com/mozilla/gecko-dev/tree/master/js/src/tests (commit 6bd2528448bfb148833e9bb6d9b4084296dd342a)
* remove babel files

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2019-09-26 16:34:01 +09:00
Robert Fancsik
8095a934d6 Add Proxy object support for several builtin operations (#435)
Related methods:
 - Array.isArray
 - JSON.stringify
 - JSON.parse
 - Object.prototype.toString

Also fixed some errors in the Promise builtin rotuines to enable more tests.

Signed-off-by: Robert Fancsik <frobert@inf.u-szeged.hu>
2019-09-26 12:33:37 +09:00