41 Commits

Author SHA1 Message Date
DaiHN e5342c59e0 Rename Commonjs's Objects
-------------------------------
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5G29Y?from=project-issue
1. "JSCjsModule" -> "CjsModule"
   "JSCjsRequire" -> "CjsRequire"
   "JSCjsExports" -> "CjsExports"
2. builtin_cjs_exports.h -> builtins_cjs_exports.h
   builtin_cjs_exports.cpp -> builtins_cjs_exports.cpp
   builtin_cjs_require.h -> builtins_cjs_require.h
   ...

Signed-off-by: DaiHN <daihuina1@huawei.com>
Change-Id: I582467ef8421e03b7eb123d388d66287a79ce97b
2022-07-07 21:09:56 +08:00
wengchangcheng cd90e396a7 Descriptor: ark hilog refactor
details:
1. use hilog in ohos device
2. use panda logger in host
issue:  https://gitee.com/openharmony/ark_js_runtime/issues/I5FR5J

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I6f5de00751154bdb6aac3101515961a3a4432e80
2022-07-06 22:55:49 +08:00
openharmony_ci a1380727ce !1704 Rectify coding specification problems
Merge pull request !1704 from zhaozhibo/master
2022-07-05 10:07:20 +00:00
zhaozhibo 2401947648 Rectify coding specification problems from codecheck panel
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-07-01 17:34:26 +08:00
hjzhangcm 07e94e4f6a Delete methods that are not used when constructing jsfunctions during the initialization of builtins
Signed-off-by: hjzhangcm <zhanghaijun20@huawei.com>
2022-07-01 16:12:46 +08:00
openharmony_ci 29f2c9a309 !1636 string.replaceAll and regexp groupname
Merge pull request !1636 from zhangyouyou/master
2022-06-29 08:33:54 +00:00
zhangyouyou 2f0c89fffe https://gitee.com/openharmony/ark_js_runtime/issues/I5DDMT
Signed-off-by: zhangyouyou <zhangyouyou2@huawei.com>
2022-06-29 11:31:55 +08:00
openharmony_ci 7b228bc69e !1657 ECMA2021 Object values interface implementation
Merge pull request !1657 from shisan_forwork/master
2022-06-29 02:47:53 +00:00
shisan_forwork c6c0ddc422 ECMA2020 Object values interface implementation
Description
	ECMA chapter 20.1.2.22 Object.values(O)
Related issues
	#I5DQ38:ECMA2021 Object values interface implementation

Signed-off-by: shisan_forwork <chengjunxiong@huawei.com>
2022-06-28 19:53:39 +08:00
ding c80c97bdfa Resolve Compatibility Issues between TSAOT and ECMA spec
1.Add typelowering framework.
2.Add newobjdynrange in typelowering which brings static TS type
  info to runtime phase.
3.Serialize and deserialize hclass table with snapshot, fix minor bugs
  in snapshot by the way.
4.Add IsFormTSTypeBit in HClass to distinguish hclasses which come from
  compile phase.
5.Fix compatibility issues in property operations api and some builints
  api.
6.Add 3 compatibility issues test cases.

Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5E2N9

Signed-off-by: ding <dingding5@huawei.com>
Change-Id: I98626e6eea01f4455ec818ba0ad872b3be98b729
2022-06-28 14:43:16 +08:00
shisan_forwork 7fe5fd4847 Add Container LightWeightMap and LightWeightSet
Description
    To ensure the high performance of container classes, lightweight map
    and lightweightset are provided in ark.
Related issues
    #I566FV:Add Container LightWeightMap And LightWeightSet

Signed-off-by: shisan_forwork <chengjunxiong@huawei.com>
2022-06-21 10:02:29 +08:00
openharmony_ci b01688101e !1576 Upload finally, any and allsettled codes of promise module
Merge pull request !1576 from 史凯/master
2022-06-20 03:09:24 +00:00
shikai-123 aa6490370f Upload promise code
Upload finally/any/allSettled module of promise code

issues: https://gitee.com/openharmony/ark_js_runtime/issues/I5BFGU

Signed-off-by: shikai-123 <shikai25@huawei.com>
2022-06-20 09:24:17 +08:00
dingwen f55d1a781f Snapshot support reusing global const and builtins object
Description:Before serializing, cache all global const and builtins objects in a map. When serialzing object taggged field, firstly searching the field object in the map, if exist, record the index. Then when deserializing, we can quickly find the object by index.
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I5CA56

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I935cc445d50a1e5854b88a7d01445aaa87da2cbc
2022-06-17 12:33:26 +08:00
openharmony_ci 40324cf89b !1552 string.padStart/padEnd/trimLeft/trimRight/matchAll
Merge pull request !1552 from zhangyouyou/master
2022-06-13 08:43:48 +00:00
Yuqiang Xian ec35dbada7 Merge remote-tracking branch 'oh/master' 2022-06-13 11:49:01 +08:00
zhangyouyou 7f5f5fd3db https://gitee.com/openharmony/ark_js_runtime/issues/I5BKUG?from=project-issue
Signed-off-by: zhangyouyou <zhangyouyou2@huawei.com>
2022-06-10 17:33:03 +08:00
dingwen 53808f9634 Snapshot support serialize builtins object independently
description:Add SerializeBuiltins interface, support create EcmaVM by deserializing builtins.snapshot file
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5B3QM
Signed-off-by: dingwen <dingwen6@huawei.com>

Change-Id: I0d19efe34826bdb58366df9eed571285afbcccca
2022-06-09 21:21:44 +08:00
Yuqiang Xian 9a35d504b2 Merge remote-tracking branch 'oh/master' 2022-06-08 11:21:28 +08:00
Yuqiang Xian 9398651bdf Split region flag type declaration into separated Space type and GC flags.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-07 17:10:37 +08:00
Yuqiang Xian 34c428f16a Re-organize the region flags.
1) Separate the space type flags from the GC related flags;
2) the space type flags should be exclusive with each other, hence we shouldn't make them denoted
   by specific dedicated bits respectively, because in that way we can't avoid multiple bits being set,
   which is not what we expect.
3) the GC related flags are kept using dedicated flag bit for now. Going forward we should continuouslly
   improve this, e.g., to check if some of these flags are also exclusive with each other, and to better
   separate them from the space type flags with separately declared types, etc.
4) The judgement of whether an object is containted in the heap is _somehow_ improved, but as mentioned
   in the code comments, it's still not safe and accurate enough, be careful when using it.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-06 17:23:27 +08:00
openharmony_ci d34f4d889c !1438 Add atomics project and modify code errors
Merge pull request !1438 from jiangkai43/master
2022-06-06 01:39:53 +00:00
jiangkai43 99f06bae64 Merge branch 'master' of gitee.com:openharmony/ark_js_runtime into master 2022-06-02 11:17:00 +00:00
jiangkai43 d50c83dc69 Add atomics project and modify code errors
Signed-off-by: jiangkai43 <jiangkai43@huawei.com>
https://gitee.com/openharmony/ark_js_runtime/issues/I599WU
2022-06-02 19:09:01 +08:00
chenqi 666eb6b8bd Add Containers List And LinkedList
Description
    1.To ensure the high performance of container classes, List and LinkedList is provided in ark.
    2.modify Copyright 2021->2022.
    3.fix containers.
Related issue
    #I58XA9:Add Containers List And LinkedList.

Signed-off-by: chenqi <chenqi151@huawei.com>
2022-06-02 17:02:40 +08:00
Yuqiang Xian 4f070c9e78 Fix code check issues.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-02 08:49:08 +08:00
Yuqiang Xian c492d6a7bc Merge remote-tracking branch 'oh/master' 2022-06-02 00:31:44 +08:00
Yuqiang Xian 5c889882e9 The region object and its interfaces should be safer and more robust to its users.
Currently there's an "implicit" assumption wide spread in a lot of places in the code,
that the region object is allocated in the JS heap together with the associated region
memory it manages (i.e., the C++ region object itself is treated as the header of the
associated memory region), but after all, from a normal user's perspective, it's still
a normal C++ object, and thus introduces a lot of confusions and it's very easy to
break the system with usages which are not "implicitly" expected.

This patch tries to relax the assumption / limitation, and the mostly affected usage case
is snapshot serialization / deserialization, which is refactored to not rely on that
implicit assumption.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-02 00:04:59 +08:00
openharmony_ci 7e3af05fb1 !1442 Add WeakRef and FinalizationRegistry interfaces
Merge pull request !1442 from 小马奔腾/master
2022-06-01 15:07:08 +00:00
xdmal a4062881d1 Add WeakRef and FinalizationRegistry interfaces
Add WeakRef and FinalizationRegistry interfaces

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I57W11

Signed-off-by: xdmal <maxiaodong16@huawei.com>
2022-06-01 20:59:20 +08:00
Yuqiang Xian 03e1ff5f35 Redesign the region flag setting and fix potential bugs within it.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-06-01 11:38:56 +08:00
lukai 1a5e085031 support memory parameters configuration
1. heap configuration including heapSize and space capaticity
2. other parameters such as gcThreadNum, longPauseTime.
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I59HYO?from=project-issue

Signed-off-by: lukai <lukai25@huawei.com>
Change-Id: If3bfe7338ae0712809d9750fef3bbbb14017223f
2022-05-30 17:22:08 +08:00
Yuqiang Xian b89c51585d Fix code style check issues.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-30 16:40:36 +08:00
Yuqiang Xian 32fa88256a Fix issues in snapshot deserialization for region flag setting.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-30 15:30:49 +08:00
Yuqiang Xian d60310edee Fix issues after merging latest changes for snapshot enhancement.
Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I590Z8

Signed-off-by: Yuqiang Xian <xianyuqiang@huawei.com>
2022-05-30 13:34:42 +08:00
dingwen 2add907c4f Snapshot support multiSpcae and multiFiles
Description:allcate object to different space and support serialize
multi files
ISSUE:https://gitee.com/openharmony/ark_js_runtime/issues/I592G1

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I5483566fd049d692cd19beece830957615d851c2
2022-05-28 09:43:38 +08:00
openharmony_ci f5596f01bd !1405 fix mem leak problem from jsmethod
Merge pull request !1405 from xiongluo/mem_leak_from_method
2022-05-25 07:20:21 +00:00
xiongluo 2c14680bc6 Fix the mem leak from js method
Signed-off-by: xiongluo <xiongluo@huawei.com>
2022-05-25 10:53:36 +08:00
shisan_forwork 5adb25b225 Add Container Vector
Description
   To ensure the high performance of container classes, vector is
   provided in ark.
Related issue
   #I4XCD9:add container vector

Signed-off-by: shisan_forwork <chengjunxiong@huawei.com>
2022-05-23 20:40:25 +08:00
wuzhefeng 662f2b78a6 Refactor Compilation Framework Part-2
1. Rename IR builder to improve the readability.
2. Remove redundant Headers to decouple the relationships of components.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I56YPT

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I0c8da6cd55bb8e7f33421ba846bab89bd5e06c55
2022-05-11 04:28:10 -07:00
dingwen 61b6782b65 Snapshot code optimization
Description:Snapshot code optimization include modify class name SnapShotSerialize to SnapShotHandler, delete some magic number, add interface to acquire global env and global const object index.
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I55CQ3

Signed-off-by: dingwen <dingwen6@huawei.com>
Change-Id: I338028c5cfd4f992095f2bded2956e33f275bb1b
2022-05-07 09:23:06 +08:00