Commit graph

213 commits

Author SHA1 Message Date
HyukWoo Park
ab15bd5574 Implement setIndexedPropertyHandler for ObjectTemplate
* rename data related to PropertyHandler
* refactoring ObjectWithPropertyHandler to handle NamedProperty and IndexedProperty both
* add cctest

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-17 17:22:35 +09:00
HyukWoo Park
fa052c8902 Refactoring ObjectTemplate's PropertyHandler
* update to common PropertyHandler data and strucuture to represent IndexedProperty and NamedProperty both
* check property name in each ObjectWithPropertyHandler method

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-17 17:22:35 +09:00
HyukWoo Park
de48b644dc Update test262 testsuite version
* update test262 to the latest version (commit id: 1ad9bb)

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-11 15:20:43 +09:00
HyukWoo Park
c295ee69e1 Refactoring createFunctionSourceFromScriptSource
* use memcpy for string merging
* remove unused functions

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-10 14:52:54 +09:00
HyukWoo Park
f47def1f22 Replace TemplatePropertyName with existing ObjectStructurePropertyName
* usually property name is delivered as Value format
* replace `TemplatePropertyName` with `ObjectStructurePropertyName` to handle Value format nicely

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-10 14:51:47 +09:00
HyukWoo Park
30f3b3a348 Revise createFunctionSourceFromScriptSource
* add simple syntax checker method in parser to check parameters and body string
* fix it to check parameters and body string seperately
* add several TCs for this patch too

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-01 17:03:58 +09:00
HyukWoo Park
78b1aa7d2e Update lint checker to include cctest file
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-29 12:30:32 +09:00
SeongHyun Kim
c1a5a53bb7 Mark enum as unsigned
we need to mark enum as unsigned.
because processing enum in msvc is little different

ex) enum Type { A, B }
struct Foo { Type type: 1; }
Foo f; f.type = 1;
if (f.type == Type::B) { puts("failed in msvc."); }

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-28 12:21:12 +09:00
Seonghyun Kim
eeb15679c5 we should reset firstCoverInitializedNameError when skipping arrow function in parser
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-25 13:55:02 +09:00
HyukWoo Park
01d6ed1047 Fix Template to inherit parent's NativeDataAccessorProperties
* according to api, ObjectTemplate should inherit its parent's NativeDataAccessorProperties of InstanceTemplate too

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-18 15:16:25 +09:00
Seonghyun Kim
848873c6c7 Implement special case for Function constructor with ReloadableString
* Add new api for Function::create

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-18 13:34:28 +09:00
Ryan Hyun Choi
e479b456a9 Fix SharedArrayBuffer's create()
* Enable threading in api-test
* Add a SharedArrayBuffer test

Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-10-14 16:43:10 +09:00
Seonghyun Kim
a30b318b4a Implement GenericIteratorObject
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-29 16:15:21 +09:00
HyukWoo Park
659745ceed Store function name value correctly to access it in inner function scope
* handle exceptional case of function name which is that function name needs to be allocated on the heap with other lexical variables

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-27 16:38:22 +09:00
HyukWoo Park
843f4af78e Assign source name for dynamically created functions
* get source name through outer lexical scope

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-27 16:37:12 +09:00
HyukWoo Park
07c91a33e6 Add callback for Error creation
* registered callback is triggered for each Error constructor call

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-14 16:39:15 +09:00
HyukWoo Park
f864d828fb Refactoring BackingStore structure
* divide BackingStore structure into NonShared and Shared
* update BackingStoreRef API to clarify its usage

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-14 15:54:17 +09:00
Seonghyun Kim
7692878218 Add try-catch-finally condition variable into ExecutionState
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-09 15:17:12 +09:00
HyukWoo Park
81bae461df Handle BigInt type in CreateListFromArrayLike method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-03 12:55:47 +09:00
Seonghyun Kim
8a51147dc9 Update test262 test suite
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-18 15:04:09 +09:00
Seonghyun Kim
7b77fcd4cd If object has native data accessor with actsLikeJS is true, the object should be non inline cacheable
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-11 15:28:35 +09:00
Seonghyun Kim
bd45251b5d If there is a argument with default value, function length should not increase after the argument
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-06 13:18:50 +09:00
HyukWoo Park
84451fd28e Add setLength method to FunctionTemplate
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-29 13:37:54 +09:00
Seonghyun Kim
dbae3ae8fe Implement Serialization of SharedArrayBufferObject & $262.agent.* functions for testing
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-29 13:36:15 +09:00
HyukWoo Park
98bc107937 Add Global object shared by all threads
* Platform is also managed in Global object
* Global has life time same to program

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-27 16:40:08 +09:00
Seonghyun Kim
dff3ddd475 Add new api test related with Serializing Symbol, BigInt
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
Seonghyun Kim
878e911e7d Implement value Serializer test
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
HyukWoo Park
703c0edecc Update PromiseHook for Promise API
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-21 15:17:06 +09:00
HyukWoo Park
ac2bb84b6f Update PromiseHook
* PromiseHook is triggered for each Promise event
* PromiseHook is registered and used by third party app

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-15 10:54:18 +09:00
Seonghyun Kim
f43d845975 Implement BackingStore::reallocate
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-08 16:38:00 +09:00
HyukWoo Park
f2fd751c1e Fix EncodedSmallValue encoding
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-08 15:31:21 +09:00
Seonghyun Kim
76fa95cad6 Implement AssignmentTargetType spec
https://tc39.es/ecma262/#sec-static-semantics-assignmenttargettype

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-07 10:02:16 +09:00
HyukWoo Park
0b0ddee8e1 Refactoring index property handling
* when trying to use index property, we use only 32bit for index value (uint32_t)
* rename ArrayIndex as to Index32 and IndexProperty
* add cctest to verify the new api

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-05 13:20:38 +09:00
HyukWoo Park
43577f33e3 Fix a bug in array index conversion
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-02 12:54:09 +09:00
HyukWoo Park
324baba180 Update basic SharedArrayBuffer features (threading)
* add SharedArrayBuffer object
* update BackingStore to represent shared data block

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-17 11:09:33 +09:00
Seonghyun Kim
25679c9980 Fix negative ValueRef integer bug with ESCARGOT_USE_32BIT_IN_64BIT flag
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-17 11:03:40 +09:00
HyukWoo Park
dfdb1203d6 Fix a bug when a native function instantiated from FunctionTemplate is called as super
* create a new object of which proto is set based on newTarget

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-07 14:53:15 +09:00
HyukWoo Park
006b189d5f Update ObjectRef::enumerateObjectOwnProperties api
* add tryToUseAsArrayIndex api for enumeration
* fix UInt-naming

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-03 10:52:31 +09:00
Ryan Hyun Choi
b0cace6695 Add RegExpObjectRef::match() in public API
Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-05-27 17:08:24 +09:00
Ryan Hyun Choi
c6562e7940 Add RegExpObjectRef::create() in public API
* Make create() to accept options in enum

Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-05-27 14:52:12 +09:00
Hosung Kim
c05f35930f Fix ObjectPropertyDescriptor
Signed-off-by: Hosung Kim hs852.kim@samsung.com
2021-05-12 16:35:45 +09:00
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