Commit Graph

15 Commits

Author SHA1 Message Date
luobinghao
918df80092 llvm litecg相关目录整理
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I92XQ0

Signed-off-by: luobinghao <luobinghao@huawei.com>
Change-Id: I10587767b64128da8f1abc04a625027561956c9d
2024-02-22 15:46:20 +08:00
wuzhefeng
6002abbef1 Implement debug information framework (Part-3)
To faciliate aot debuggging, we need to provide the ability of code
commenting, so we will add api of adding debug-information to our gate
compilation framework and pass the information to LLVM-IR. At last, the
generated machine code can be associated with specific code comments.

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

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I6a1eef5588231f3aa31cc6b2efea9667d0eda929
2023-04-26 14:19:53 +08:00
wuzhefeng
225a402049 Implement debug information framework (Part-2)
To faciliate aot debuggging, we need to provide the ability of code
commenting, so we will add api of adding debug-information to our gate
compilation framework and pass the information to LLVM-IR. At last, the
generated machine code can be associated with specific code comments.

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

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

Change-Id: I51b15e2ba07c73593a51fdfc3930dabf0fca687e
2023-04-12 11:46:41 +08:00
leixin
5d5d1c7d68 Add log for compiler time
Signed-off-by: leixin <leixin19@huawei.com>
Change-Id: Ifbe70ee38adff75309164e56bcc5e6711e11b1c9
2022-11-10 21:05:29 +08:00
yingguofeng@huawei.com
3d7a083324 feat/perf(aot/compiler/asm-interpreter): compiler supports PGO optimization
1、The JS runtime counts the number of function calls and records the methodID with fewer calls.
2、The AOT compiler supports filtering the unexpected functions according to the profile file without AOT.

Closes #I5W57I

Change-Id: Ie6f7c9d2132b16a95b4b9ed84cb4ef67332b7604
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-10-24 17:49:12 +08:00
wupengyong
eef2380567 reason:add buitins stub
description:add buitins stub
issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5HCIM?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I4673f7f1443a8a9f6a3c01985f219e50ddb024fa
2022-08-04 17:27:44 +08:00
luochuhao
fe211d0fe3 Modify compiler log system, supporting choosing log type and target methods.
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5JQL6
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I38cc2e667ef12aea76c223d4bebabed7e9b1c1fe
2022-07-30 22:29:02 +08:00
openharmony_ci
c29332c1d9 !1833 fix fuzztest errro and add new fuzztest
Merge pull request !1833 from zhaozhibo/master

Change-Id: I1e83c46e25d0a7c342e5c8e7ca5ff61c745b7582
2022-07-25 08:49:51 +08:00
sunzhe23
1783bf0e05 Refactor compiler Stub (part-2)
rename Stub to StubBuilder

issue: #I5IDQB

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-07-22 10:48:37 +08:00
luochuhao
5e82a582c3 Add relocation related section saving and loading support in aot module.
Refactor on aot file module to enhance readability.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5F8PR
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ia3bc3e8ef7561a2be86844cb98b501d7ceb9a6dc
2022-07-11 16:19:52 +08:00
luochuhao
fee924816d Add multi-abc-file support in stub compiler and aot compiler and related adaptation.
Use methodId of func in pandafile as index for each aot func in llvmModule.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I598P5
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: I9646d6a80c8138744ebbd617837550b4661f27d3
2022-05-29 16:59:27 +08:00
luochuhao
33e7b89cac Modify option source of stub compiler.
Using options in js runtime option list and delete stub compiler option.

Add path check for stub compiler generation phase.

Load stub file before loading of aot file.

Add runtime option for optimization level configuration.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I557Q2
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ifbaa7a2dc4333310c62f1f8e230eefb7a2136ca5
2022-04-29 14:40:18 +08:00
ding
b018a9b0f2 Control whether to print compiler logs through JSRuntime Options
Add option log-compiled-methods to print the compiler(both stub and aot) in units of methods.

Add class CompilerLog.

Refactor some compiler logs.

Unie the log invoked way(COMPILER_LOG or COMPILER_OPTIONAL_LOG).

Signed-off-by: ding <dingding5@huawei.com>
Change-Id: I43ce61d0ba9d453713ab3e6349d07f6d9cde3e5e
2022-04-14 16:14:34 +08:00
luochuhao
aa2ef1d5b5 Implement aot file generated step for aot compiler
Implement llvmIRGeneration Pass in aot compiler pipeline.

Rename and reconstruct LLVMStubModule and LLVMModuleAssembler class. Move aot code infos
related to describe current (code size, begin addr, entry offset of each func etc.)  AOT
snippet and corresponding serialization/deserialization func to NEW class called AotCodeInfo.
Move functions related to file reading/writing to NEW class called AotFileManager.

Add new call opcode in circuit IR to differentiate call into common stubs and call into
runtime interfaces without GC.

Adapt js runtime option for above changes.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4ZDY5
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: If0ab5927ad2551fe5567d1c7b18540fbcc38bc15
2022-03-24 15:44:26 +08:00
luochuhao
905d0496dc Refactor ID definition and callSignature initialization mechanism of stubs
Refactor ID definition and callSignature initialization mechanism of runtime stub,
optimizer stub and bytecode handler stub,
reduce amount and complexity of macro used in calling those stubs.

Add stubDes struct to classify stubs both in AOT file generation phase
and AOT file loading phase.

Fix some circular dependency problems in including header files.

Fix certain inline function declaration and definition format problems, which could lead to
compiling errors.

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I4VMLD?from=project-issue
Test: stubTest(unit test), richards with asm interpreter enabled
Signed-off-by: luochuhao <luochuhao@huawei.com>
Change-Id: Ibd5fcd963347b97f8dec227f3245d2064463b0b0
2022-03-18 22:01:52 +08:00