Commit Graph

34 Commits

Author SHA1 Message Date
openharmony_ci
4b04dda813
!4156 Fix stobjbyvalue for empty or COW array
Merge pull request !4156 from hzzhouzebin/FixStobjbyvalue
2023-06-04 10:54:12 +00:00
wupengyong
efc0b12047 Reason:optimize fastcall
Description:optimize fastcall
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I78093?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I1685c6b1341c82161d18e827f5449f90f7b1b634
2023-06-03 18:42:00 +08:00
hzzhouzebin
d9f48726ad Fix stobjbyvalue for empty or COW array
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I79RCW
Signed-off-by: hzzhouzebin <zhouzebin1@huawei.com>
Change-Id: I2cc6b44944824974842ecb2dd03ccc9765e40465
2023-06-02 15:26:19 +08:00
hwx1163501
05bf8e27db Modifying Code Alarms
Signed-off-by: hwx1163501 <hanjing35@huawei.com>
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7810E
2023-05-24 18:37:04 +08:00
xwx1135370
8922277ede * 修改代码告警和新增fuzz用例
* issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I776L4

Signed-off-by: xwx1135370 <xuyao44@huawei.com>
2023-05-22 19:27:06 +08:00
wupengyong
c0fa165ab0 Reason:add fast call and change calling conversion to cc
Description:add fast call and change calling conversion to cc
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6TTCX?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I7c35619d73a4d961799232bc22b78b6513f65e71
2023-05-18 19:23:25 +08:00
ginxu
d88428b060 Some TsAot Inline Modification
1. Resolves conflicts between inline and loop optimizations
2. Adds an inline target check to prevent changes
3. Modify the framestate metadata structure
4. Add inline testcase

ISSUE:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I73MZY

Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I4256b3edce3e901afb67d48b0e649f39f6c251a4
2023-05-18 11:24:10 +08:00
ginxu
2ac472acd9 Support Inline Deopt
1. Add frameStateChain op for inline deopt.
2. Modify the deopt logic to support multiple interpreter frames.
3. Fixed some bugs that occurred when inline was enabled.
4. Support trace inline function tools.
5. Add some testcases.
6. Add some inline condition which some scenarios that might occur inline are filtered.

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

Signed-off-by: ginxu <xujie101@huawei.com>
Change-Id: I30127640fcd150c3c3badf2dd5c805a7b6733c42
2023-05-13 10:46:38 +08:00
dingding
dbb6738ad6 Imporve AOT Debugging Tools
1. Add stress deopt.
2. Add VTable verifier.
3. Tracing BC supports typed path.
4. Add options for several pass.
5. Add options to select compiler methods or skip compiler methods.

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

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Iffdd54b5cb34efe93cbec77ea4a9aa2feb8fbcbd
2023-05-09 07:11:57 +08:00
wuzhangda
682f28bf73 Optimize arkstackmap size and add stackmap dump
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6E00K

Signed-off-by: wuzhangda <wuzhangda@huawei.com>
Change-Id: I9961aca3de3da6a727b48bf848bb7338465b0f6f
2023-04-18 19:02:40 +08:00
sunzhe23
d836805211 Add MIR for type lowering
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6VPXB

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-04-17 13:58:18 +08:00
zhangyukun8
12a011287b Fix async function reentergenerator failed when deopt happened
suspendgenerator and resumegenerator should be in pairs both in
AOT and asm-interpreter
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6VMXN?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>

Change-Id: I6b7deca870a484beda3ef2b16eecb962b7ff4afd
2023-04-14 11:34:57 +08:00
sunzhe23
dac942e759 Add Generic type lowering
1 Add HeapObject Check
2 Add ArrayGuardianCheck
3 Add HClassStableArrayCheck

Issue: I6UDR3

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-04-11 14:35:22 +08:00
dingding
71da32852a Fix Deopt and TSManager Bugs
1.Fix Deopt does not restore vregs correctly in a loop when the number of declare args is greater than the number of actual args.
2.Fix function TSManager::RecursiveGenTSHClass may be entered duplicatly for the same class type.

Add regression tests cases.
The bugs caused the AOT application to fail to startup.

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

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Ic1fdb8896b85023ba2536c6893b166d3f96c59ed
2023-03-31 09:29:50 +08:00
xujie
6d377f01d8 [Inline Call part2] Refactor Common Args Accessor
1. Modify JSBytecode and FramState opcode which have framestate in.
2. Changes the way common args are fetched during lowering.
3. Common args are no longer fetched from the stack during deopt.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6L28B
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I1e26ad526209f27edc42aa2a5f364b1566ed4d26
2023-03-28 10:27:30 +08:00
zhangyukun8
ff796ce366 Implement __llvm_deoptimize to void relocate deopt hander
1.implement __llvm_deoptimize in Aot module, __llvm_deoptimize funciton is to call runtime function
2.add asm bridge frame to avoid unnecessary fpdelta calculation

Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6NSFQ?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ibb559ae877633c63fd8cc7efee5770ba88597f9c
2023-03-18 14:48:24 +08:00
dingding
3ca6bf157d AOT VTable Part2 && Part3
Part2: AOT generates assembly code for object property access which based vtable.
Part3: Maintain or break TS SubTyping info during runtime.

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

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: I68dfce35f6f9f80b749ea7b88c72541e824774d7
2023-03-17 13:25:20 +08:00
zhangyukun8
90ba8f3409 Adapt pcoffset for deopt and ts type lowering
1. fix try-catch for callspread of aot
2. add pcOffset for midir generated by type lowering
3. unify the pcoffset for deopt and stacktrace
4. add testcase for deopt exception and ts exception

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6KUFO?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I0e54ec6e893e67556a59a371aade142a61a6d33a
2023-03-08 15:37:47 +08:00
xujie
a7e31a9987 [Inline Call part1] Env Refactor
1. Remove env slot from optimizedJSfunctionframe.
2. Use env vreg to pass in circuit ir graph.
3. Remove some discarded interface and fast some bc lowering associated with env.

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

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I34d65b59e103e9c8d3b203dbf82b8f2bea7e9feb
2023-03-04 16:12:22 +08:00
zhangyukun8
62a3e35295 AOT support js stacktrace
1. add pcOffset into stackmap before call In AOT
2. parse stackmap to find pcOffset before any OptimziedJSFunctionFrame
3. remove use code of stubs in AOT
4. add testcase for js stacktrace of AOT

Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6GXRR?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Ib21646b7319628fb425ac8ce489dc2370a347b81
2023-03-03 10:08:54 +08:00
songzhengchao
dac99d6453 Revert "Implement __llvm_deoptimize to void relocate deopt hander"
This reverts commit 9a05e60cfc.

issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6I8LN?from=project-issue
Change-Id: I44d512f9b29229b29860eea87f3a0f9e7ed54c34
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
2023-02-28 09:34:30 +08:00
dingding
2265dbbd2a Fix Deopt Dumper can not Print Stack Trace
Reason: should use BuildJsStackTrace not BuildMethodTrace

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

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: I2642190b1971d9aacdfefaddd4a8c78cd4d452cd
2023-02-22 23:27:31 +08:00
songzhengchao
9a05e60cfc Implement __llvm_deoptimize to void relocate deopt hander
Current we relocate deopt handler by modify TEXT section which is not safe. MeanWhile LLVM IR don't generate got section for x86-64 and AARCH64.

We consider to implement __llvm_deoptimize in Aot module, __llvm_deoptimize funciton is to call runtime function

issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6FO36?from=project-issue

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: I20fa67b520c54583100559efe3af959286b6256a
2023-02-22 11:06:56 +08:00
wuzhangda
66f8591771 Deopt Dump
Add deopttype to Deoptimizier::Dump and cpu-profiler information.

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

Signed-off-by: wuzhangda <wuzhangda@huawei.com>
Change-Id: Icbc9d8d96c950c3f3603153189048477ee672be1
2023-02-06 17:21:09 +08:00
wengchangcheng
2cdbecaeb9 Descriptor: Encapsulate some interface in PandaFile
Details: Encapsulate GetStringData and use JSPandafile instead of File

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

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: Ied940326ea2913337db013e1ab1bf57b6f56162b
2023-01-03 15:16:51 +08:00
Gymee
29777fc3ab Fix code style
Issue: #I67JM7
Signed-off-by: Gymee <yumeijie@huawei.com>
2022-12-26 19:50:46 +08:00
xujie
b6d01825e0 Support skip aot function where too many deopts occur
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I662CB
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Ie7195f725ee4cd4b917e436046e9faafcbf8e84b
2022-12-14 10:21:23 +08:00
Gymee
45bbb6cbf5 remove redundant spaces between operator
Issue: #I63MCO
Signed-off-by: Gymee <yumeijie@huawei.com>
Change-Id: Ifd1d4768a2f96d618e991e07fc0b7a516c5965af
2022-11-29 11:47:32 +08:00
zhangyukun8
21a4d386f5 adapt aot cpuprofile
1.update leaveframe before call no gc runtime
2.keep atomicity when construct frames
3.rewrite checking isInsideStub and isInsideAot
4.deal with entry frame for cpuprofile
5.add folder stackmap

Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I61SM9?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I329f19a88bcf8e7f7d31606bfa51c822e32df9b8
2022-11-28 21:44:52 +08:00
jing_han
30b4a27aed Modifying Code Alarms
Signed-off-by: jing_han <hanjing35@huawei.com>
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I63I56
2022-11-28 19:48:29 +08:00
zhaozhibo
5e4853b54b Merge branch 'master' of gitee.com:openharmony/arkcompiler_ets_runtime into master
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-11-28 02:01:20 +00:00
g00416891
40393ed2f1 Fix code check
Signed-off-by: g00416891 <guobingbing3@huawei.com>
Change-Id: I6432ff57276e0671b985cb7efa838253e9864c73
2022-11-26 15:24:12 +08:00
songzhengchao
ac5f1fd688 clean code
Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Idfc4ea5c931e99b6008da3f24758d6411b0f88f3
2022-11-25 17:38:05 +08:00
songzhengchao
6994c71849 deopt debug info
In order to deopt debug, thus need add debug info, add bc print

issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I634KP?from=project-issue

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Icd1487800045f39e4b46eb6d852da0e3d5e05d13
2022-11-25 14:44:53 +08:00