255 Commits

Author SHA1 Message Date
wu_zhang_da
fe2a661824 Sliced String Add Optimization
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8R6SC

Signed-off-by: wu_zhang_da <wuzhangda@huawei.com>
Change-Id: Id8ca981d6e7fa23954ba6d76e1fd5c5daa477747
2024-01-18 17:30:32 +08:00
ginxu
2d484e7ce9 Optimize DefineFunc For Aot
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8URB7
Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I04a1ce12fdd3b7215b3b1c17ba7631db15ecb757
2024-01-15 12:22:51 +08:00
yaoyuan
54760cc265 ElementsKind - COWMutantTaggedArray
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8TBS8

Signed-off-by: yaoyuan <yuanyao14@huawei.com>
Change-Id: Ife2aeb21890d9a26cb3c4db60497c9ff1ab574cc
2024-01-03 18:54:50 +08:00
yaoyuan
61afc6feb7 ElementsKind-Part2
Enable Interpreter ElementsKind but with option as false
ISSUE: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8M1RU

Signed-off-by: yaoyuan <yuanyao14@huawei.com>
Change-Id: Ic2d0d4ecc1a0e08220aa2a2be4ad293ded725f07
2023-12-18 15:57:47 +08:00
liuzhijie
d2d17933f5 Optimize Function Binds
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8L1W3?from=project-issue
Signed-off-by: liuzhijie <jay.lau2020.work@outlook.com>

Change-Id: Icb4f95333f8c0f254c54362e1086983f43d0ee01
2023-12-05 11:03:46 +08:00
gwl
435c90f161 Merge branch 'master' of https://gitee.com/openharmony/arkcompiler_ets_runtime into arrayReverse
Change-Id: Ib526acac9c51c02e91aa7e4ae7b3d6e818af3a23
Signed-off-by: gwl <guowanlong@huawei.com>
2023-11-24 18:52:12 +08:00
openharmony_ci
6f3f50e8ef
!5236 [新需求]: AOT 支持 new Function 形式的LD/ST操作
Merge pull request !5236 from weng-xi/ld_st_function
2023-11-20 11:02:36 +00:00
weng-xi
40e3828c68 AOT supports ld/stobjbyname for function object
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8GEHD
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I81b970dd66b62700aaeed3b39806ce0a7d1d92d0
2023-11-20 13:43:12 +08:00
like
00927fc0c4 fix builtin object deopt fail
Change-Id: If1a39e12eb7b603bdf54af82b8dd402a941c44f9
Signed-off-by: Like <zhenglike@huawei.com>
2023-11-17 14:00:19 +08:00
like
0ce648c3bb Support global builtins
Change-Id: I32d654446b87e0672ddcb09d63ba3f5286f00c73
Signed-off-by: like <zhenglike@huawei.com>

add flag

Change-Id: I2a05ec5ad43dd1d3819d5ec0da88fa5644f92be1
2023-11-16 22:28:52 +08:00
yingguofeng@huawei.com
d2ce6cc655 Feat(Aot/PGO/Runtime): Profile Transtion hclass type and aot
Issue: #I872U3
Change-Id: I148cdbc6ac95022cd8dc4a5ad19e526344bb82a3
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2023-11-06 22:15:31 +08:00
sunzhe23
7dce51adc3 Refactor bytecode graph builder
There will be following changes:
1. LoopHeader IR will have more than two input
2. Add DepenedRelay for DeoptCheck
3. Refactor dead region elimination for 'BytecodeCircuitBuilder'
4. Fix live range analysis bug for try catch
5. Refactor gate generating for 'phi' 'merge' 'loopexit' and genenator gates
6. Refactor frameState generating, all merge(LoopExit) and side-effect gate will have frameState
7. Refactor loopAnalysis for 'BytecodeCircuitBuilder'
8. Add GetLoopInfo for GraphLinearizer's 'GateRegion'
9. Fix a LoopAnalysis bug
10. Fix a TypeInfer bug for infer namespace object
11. Remove dead StateSplit in state split linearizer pass

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I88W5H

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-11-06 09:19:36 +08:00
bdf1
d64b59df96 Fix: Macro name: DEFVAlUE -> DEFVALUE
Signed-off-by: bdf1 <baodongfang2@huawei.com>
2023-11-04 13:44:21 +10:00
zhangyukun8
7f97aeddd3 Fix failing to load str from constpool in aot slowpath
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I8CIO0?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib029a3d27fb36228d57cc4c74976bc7c54aede7c
2023-10-31 20:49:43 +08:00
openharmony_ci
95e94e807a
!5021 Impl for-of and for-in HIR lowering
Merge pull request !5021 from zhangyukun8/master
2023-10-26 11:01:29 +00:00
zhangyukun8
cba971f0e7 Impl for-of and for-in HIR lowering
1.Inline getnextpropname HIR of for-in
2.profile iterator type of for-of
3.Inline getiterator and next(call) of for-of
4.Update detector when set prototype

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I89SMQ?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib18d8b9529c41ec435d5d2d97839d82c389267b6
2023-10-26 15:40:03 +08:00
h30044958
68c81482e4 Revert "!4973 Bugfix for GetObjectLiteralFromCache"
Revert "!4938:Optimize CreateObjectWithBuffer Optimize CreateObjectWithBuffer"

This reverts commit d4e0793c920189a22b82ce97a460e94da081b98d, reversing
changes made to 700252589a0e529c22e906cc52b7b648166c706d.

Signed-off-by: h30044958 <herongpeng@huawei.com>
Change-Id: I86309d7d1941193daeeeb716dd1ca07a98b8bc16
2023-10-24 20:08:56 +08:00
K0u1hw
3f67e23bb6 Bugfix for GetObjectLiteralFromCache
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I87JDX
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I751881fdddb4d1d49699ecd29c2a6a6dbe0c39a3
2023-10-12 15:17:36 +08:00
K0u1hw
2ac74c5acc Optimize CreateObjectWithBuffer
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I84U4E
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I7dfe3084fd5a96cc19961de3aaa28c73fc24f9da
2023-10-11 10:29:38 +08:00
liuzhijie
7a2b1d25c8 Circuit Builder 分层
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I81UR6?from=project-issue
Signed-off-by: liuzhijie <jay.lau2020.work@outlook.com>

Change-Id: Ic84980aaa0fbd04d9249a78ed4ff5ef09d31d359
2023-10-07 09:04:15 +08:00
openharmony_ci
2ab282451e
!4847 Add string concat ir and optimize string split
Merge pull request !4847 from wpy111/master
2023-09-26 05:06:53 +00:00
wupengyong
67e28c31e5 Reason:Add string concat ir
Description:Add string concat ir
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I82V3R?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I928e6cf85b0b1ac2888aed53d9e0ee493f770531
2023-09-26 09:24:35 +08:00
Onlynagesha
a59d87cd56 No-GC runtime stubs to dump JSTaggedValue with custom hint string
Adds the following No-GC runtime stubs for AOT debugging:
Dump, DebugDump, DumpWithHint, DebugDumpWithHint
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I83K8W

Signed-off-by: Onlynagesha <orina_zju@163.com>
Change-Id: I51af8a56922581369cc70abd010339800d01598e
2023-09-22 16:56:23 +08:00
openharmony_ci
cea62dfb64
!4186 Move module from Function to Method
Merge pull request !4186 from lijiamin/hotreload
2023-09-21 03:02:33 +00:00
lijiamin2019
78a1abc663 Move module from Function to Method
Signed-off-by: lijiamin2019 <lijiamin24@huawei.com>
Change-Id: I440bb8dad9b46dd6582750a3665bcc0c586fd1e0
2023-09-20 16:49:17 +08:00
openharmony_ci
34cc90a33b
!4825 Add UT for TypedArray and LoopOptimization
Merge pull request !4825 from ChunyangWang/UT_for_Int32Array
2023-09-20 07:19:57 +00:00
openharmony_ci
fa1b617cd7
!4821 Typed TypeOf Optimization, Null And Undefined Extension for BinaryOP And UnaryOP
Merge pull request !4821 from 许杰/sr0930
2023-09-20 03:57:16 +00:00
wuzhefeng
9f831656d2 [Feature]: Add code comments
Adding code comments for the generated aot machine code when enabling --compiler-log, which will be helpful for debugging.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I82PXK

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>

Change-Id: I9f0ddf0c94fe5de69fbbbc15b87b470ceb9f704d
2023-09-19 19:29:03 +08:00
K0u1hw
553f2bbabd Add UT for TypedArray and Loop Optimization
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I825NG
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I7a31b82483692252a480dd557dc91f7c8c3d8b0c
2023-09-19 16:41:10 +08:00
yingguofeng@huawei.com
7b633520b5 Refactor>(PGO): PGO refactor
Adjust the PGO collection model. Complete type data collection by traversing the ProfileTypeInfo of Method through asynchronous threads

Issue: #I7UVD6
Change-Id: Ieb94892698d7a15d948b762ba057e4c0cf6ca1d2
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2023-09-17 16:00:55 +08:00
ginxu
1595771875 BinaryOP And UnaryOP Support Undefined And Null Value Input Optimization
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I81Q27
Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: Ic6260b88a3954ed1941bb97a75db0a511a26d51e
2023-09-16 14:19:05 +08:00
ginxu
dbf1804cb6 Typed TypeOf Hir Optimization
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I81Q27
Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I55763fa5c7cc62f8e73f8d9a679ec259596ea175
2023-09-16 11:29:18 +08:00
openharmony_ci
787b5a85ea
!4797 StringEqual optimization
Merge pull request !4797 from weng-xi/string_equal
2023-09-15 08:04:42 +00:00
weng-xi
94395cd9dc StringEqual optimization
1. add new hcr-optimization lowering
2. stringequal optimization

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I80QC0
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I40abcbbe6a4eb3f98735072d0a86163ab3a5947e
2023-09-15 09:01:04 +08:00
zhangyukun8
f31710d73d AOT callstack supports inline functions
1.Add frame args chain on bytecodes which can throw
2.Record inline method offsets in frame args
3.Push method offsets of inlined methods into stackmaps when callout aot
4.Collect inline method offsets and output them
5.Fix literal offsets error before try-catch
6.Add testcases
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7Z24N?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I7f4927a2dfc6a71e44b59cb392acb9b2d3f408e2
2023-09-14 19:24:35 +08:00
xiaoweidong
e82d301a2d Optimise Map.set, Set.add, Map.delete, Set.delete function with ir
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7XNUT?from=project-issue

Signed-off-by: xiaoweidong <xiaoweidong@huawei.com>
Change-Id: I2569d6e1c24d45770260747fd7edf6a83857f56d
2023-09-13 14:19:02 +08:00
liuzhijie
39e0d61227 Array Bounds Check Elimination - Part 2
(Loop-Invariant Checks + Grouping Checks)
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7V12I
Signed-off-by: liuzhijie <jay.lau2020.work@outlook.com>

Change-Id: I584c54a9ed5c472f43f8a83d3fdab6c588db5898
2023-09-08 14:36:08 +08:00
weng-xi
591299cbaf AOT supports String.Length/charAt/charCodeAt
AOT's fast path supports String.Length/charAt/charCodeAt

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7XLSA
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: Icb9ac96aae156205cf17722592c3fd04992a1aba
2023-09-01 09:26:18 +08:00
weng-xi
a2ee4ae560 AOT LdObjByValue Supports String Type
Add string type handling to ldobjbyvalue in the aot fast path

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7X361
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I9b1f4f2bef0260dd65853a5e89ae9b7030c57120
2023-09-01 09:24:31 +08:00
openharmony_ci
e7edf5786b
!4597 Add Branch Weight for Branch Prediction
Merge pull request !4597 from ChunyangWang/branch_weigth
2023-08-28 07:51:30 +00:00
K0u1hw
dfba8adae6 Branch Weight for Branch Prediction
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7R98X
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I0ddb0acfa1716a641a70ebf1beb99034ccfcdaf0
2023-08-26 18:31:02 +08:00
zhangyukun8
c812ecda91 Optimize Array.sort for aot
Add cache for number toString
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7UYXS?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ic6008335777e9844ecc59ec005b876363b3792da
2023-08-24 20:17:09 +08:00
openharmony_ci
c4dcfb3a9f
!4602 CreateArray Optimization Based On ElementsKind
Merge pull request !4602 from 吴璋达/array-opt
2023-08-16 03:01:25 +00:00
wu_zhang_da
c9eba669c0 CreateArray Optimization Based On ElementsKind
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7RKX8

Signed-off-by: wu_zhang_da <wuzhangda@huawei.com>
Change-Id: Ic84c0ac635103a59e2e212cb0c764a7ee13f6af9
2023-08-15 20:41:00 +08:00
dingding
b37e3f5995 Eliminate HeapObject Check on the Elements of JSArray based on ElementsKind
1. If the PGO ElementsKind of a JSArray is OBJECT, and the named property of the JSArray element is loaded,
   the HeapObject check is not required.
2. The AOT stroing of OBJECT JSArray should be checked to prevent damage to the ElementsKind.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7SHUY

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Ia55a75cf9d8ebe269e114bc6666718940629eb07
2023-08-11 06:19:42 +08:00
dingding
2362ca18b5 Eliminate JSArray Hole Check based on ElementsKind
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7R98E

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Id59c107f0209a9c73134194eb59da293ae2b6d67
2023-08-10 14:24:11 +08:00
openharmony_ci
abbeed23b7
!4579 LdObjByValue supports Uint32Array type
Merge pull request !4579 from weng-xi/uint32array
2023-08-08 13:17:37 +00:00
weng-xi
b274ad36a7 LdObjByValue supports Uint32Array type
1. add uint32 type for retype-pass
2. ldobjbyvalue supports uint32array type

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7QD22
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I57bcb469e60f53aacb386d9a575f55c695af21d3
2023-08-08 19:08:30 +08:00
wupengyong
b389b49691 Reason:add aot call stack overflow check
Description:add aot call stack overflow check
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7PMSM?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I1a31c928fc406364aa81cc2a5a5037d920f1ed04
2023-08-07 16:24:38 +08:00
hwx1163501
f0631bfc68 Modifying Code Alarms
Signed-off-by: hwx1163501 <hanjing35@huawei.com>
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7Q61H
2023-08-03 10:19:06 +08:00