arkcompiler_ets_runtime/ecmascript/compiler
zhouguangyuan 44d28174b8 Split SetValueWithBarrier with ShareValue
1. Split SetValueWithBarrier to three functions, based on if known the value is shared or not.
2. Add a flag to mark the value is shared value or not. And select the corresponding function before call barrier.
3. Add static branch prediction for SetValueWithBarrier.
4. Lower the redundant argument as undef in llvm backend.

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

Signed-off-by: ZhouGuangyuan <zhouguangyuan1@huawei.com>
Change-Id: I7a81ea98bceaaf73fa18748195f8da898c13a0fa
2024-07-26 12:47:46 +08:00
..
aot_file Revert "Disable worker aot optimization" 2024-07-22 16:36:37 +08:00
aot_snapshot (Aot): Fix third-part js workload degradation 2024-07-11 17:27:41 +08:00
assembler !7722 静态告警fix 2024-06-11 03:39:37 +00:00
base 修改告警:确保无符号整数不溢出 2024-05-10 18:27:47 +08:00
baseline DefineField Function To LLVM IR 2024-07-17 09:25:57 +08:00
builtins !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
codegen Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
mock gn process change 2024-06-04 15:24:32 +08:00
pgo_type !8245 ElementsKind Support JSArray as Proto 2024-07-24 12:17:50 +00:00
tests bugfix for OptStoreElementByOnHeapMode 2024-07-03 09:19:51 +08:00
trampoline Revert PR 7378 2024-07-24 16:49:20 +08:00
type_inference Remove TSManager and TSTypes 2024-04-18 19:02:45 +08:00
access_object_stub_builder.cpp fix pgo dump too often 2024-06-09 12:17:19 +08:00
access_object_stub_builder.h privateproperty lowering 2024-04-23 14:20:59 +08:00
aot_compilation_env.cpp ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
aot_compilation_env.h ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
aot_compiler_preprocessor.cpp bugfix for sharedModule process in aot 2024-07-18 05:35:08 -07:00
aot_compiler_preprocessor.h Skipped try-catch aot compile 2024-07-15 19:54:22 +08:00
aot_compiler_stats.cpp add aot hisysevent 2024-04-22 09:35:17 +08:00
aot_compiler_stats.h add aot hisysevent 2024-04-22 09:35:17 +08:00
aot_compiler.cpp !8069 Fix crashes when the phone signal does not allow the use of malloc related functions 2024-07-18 17:49:12 +00:00
argument_accessor.cpp Add actual argv in frameArgs 2024-05-23 22:14:02 +08:00
argument_accessor.h Optimized UnsharedConstPool 2024-06-03 12:49:40 +08:00
array_bounds_check_elimination.cpp Use chunk to avoid memory leak 2024-06-29 15:39:18 +08:00
array_bounds_check_elimination.h Use chunk to avoid memory leak 2024-06-29 15:39:18 +08:00
assembler_module.cpp [新需求]: Function.prototype.call IR化 2024-06-11 11:04:03 +08:00
assembler_module.h Add AsmStub Symtab and Strtab Info 2024-01-27 10:14:11 +08:00
async_function_lowering.cpp rebase pgo_type to master 2024-04-08 18:59:44 +08:00
async_function_lowering.h rebase pgo_type to master 2024-04-08 18:59:44 +08:00
bc_call_signature.cpp enable jit compiler 2023-12-09 09:18:29 +08:00
bc_call_signature.h Support Lazy Import 2024-07-10 00:41:17 +08:00
binary_section.h [Bug]: Fix the symbol section info (part-1) 2023-09-10 18:15:50 +08:00
BUILD.gn Optimized JS-call-related stub building logic 2024-07-10 09:47:20 +08:00
builtins_lowering.cpp Optimize StringIteratorNext for AOT 2024-07-17 10:36:05 +08:00
builtins_lowering.h Feat(Aot/interpreter): performance optimization part1 2024-05-26 16:59:58 +08:00
bytecode_circuit_builder.cpp enable jit inline 2024-06-07 19:18:25 +08:00
bytecode_circuit_builder.h Optimized UnsharedConstPool 2024-06-03 12:49:40 +08:00
bytecode_info_collector.cpp Don't delete aot flag when new common function 2024-07-18 20:03:44 +08:00
bytecode_info_collector.h Don't delete aot flag when new common function 2024-07-18 20:03:44 +08:00
bytecodes.cpp Support Lazy Import 2024-07-10 00:41:17 +08:00
bytecodes.h Support Lazy Import 2024-07-10 00:41:17 +08:00
call_signature.cpp Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
call_signature.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
call_stub_builder.cpp Revert "Disable worker aot optimization" 2024-07-22 16:36:37 +08:00
call_stub_builder.h Arraysort nativeinline 2024-07-18 09:30:09 +08:00
circuit_builder_helper.cpp Initial support of builtin inlining 2024-03-14 17:49:56 +08:00
circuit_builder_helper.h enable baseline compiler 2024-04-21 17:58:55 +08:00
circuit_builder-inl.h Code comment Enhancement 2024-03-18 10:01:01 +08:00
circuit_builder.cpp Optimize AOT ai file loading 2024-06-24 09:47:15 +08:00
circuit_builder.h !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
circuit_ir_specification.md Simplifield circuit graph 2023-02-14 16:46:19 +08:00
circuit.cpp Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
circuit.h Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
code_generator.h request memory as needed for jit. 2024-06-07 14:00:52 +08:00
combined_pass_visitor.cpp Fix fuzz bug 2024-07-17 11:19:41 +08:00
combined_pass_visitor.h Escape Analysis 2024-03-11 19:46:55 +08:00
common_stubs.cpp Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
common_stubs.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
compilation_driver.cpp !7752 Refactor AOT compiler pipeline (part-1) 2024-06-13 13:36:11 +00:00
compilation_driver.h Refactor AOT compiler pipeline (part-2) 2024-06-14 17:17:06 +08:00
compilation_env.cpp Remove TSManager and TSTypes 2024-04-18 19:02:45 +08:00
compilation_env.h ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
compiler_log.cpp rebase pgo_type to master 2024-04-08 18:59:44 +08:00
compiler_log.h enable jit compiler 2023-12-09 09:18:29 +08:00
constant_folding.cpp Constant Folding 2023-10-25 14:23:49 +08:00
constant_folding.h Constant Folding 2023-10-25 14:23:49 +08:00
dead_code_elimination.cpp Fix dead code eliminion bug on depend selector 2023-11-04 16:29:11 +08:00
dead_code_elimination.h Implement Dead Code Elimination 2023-09-25 11:47:22 +08:00
debug_info.cpp Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
debug_info.h Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
early_elimination.cpp Add typed Float32Array Construct IR path 2024-07-25 18:37:00 +08:00
early_elimination.h Add memory analysis option 2024-04-08 15:31:12 +08:00
ecma_opcode_des.h Support Lazy Import 2024-07-10 00:41:17 +08:00
escape_analysis_editor.cpp Escape Analysis 2024-03-11 19:46:55 +08:00
escape_analysis_editor.h Escape Analysis 2024-03-11 19:46:55 +08:00
escape_analysis.cpp Implement Induction Variable Analysis 2024-04-02 17:25:10 +08:00
escape_analysis.h Escape Analysis 2024-03-11 19:46:55 +08:00
file_generators.cpp add AOT compiler exit codes to SA 2024-07-12 15:42:44 +08:00
file_generators.h add AOT compiler exit codes to SA 2024-07-12 15:42:44 +08:00
frame_states.cpp !8038 修复携程aot编译cppcrash问题 2024-07-07 07:44:29 +00:00
frame_states.h fix fuzzer bug 2024-04-18 20:47:57 +08:00
gate_accessor.cpp Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
gate_accessor.h Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
gate_matchers.cpp Instruction Combining and Strength Reduction Implementation 2023-11-01 10:57:40 +08:00
gate_matchers.h string.substr 和string.substring IR化逻辑存在问题 2024-06-22 15:45:38 +08:00
gate_meta_data_builder.h Optimize AOT NewObjRange 2024-04-28 11:07:38 +08:00
gate.cpp Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
gate.h Bind LLVM AOT disasm dump to Circuit IR 2024-07-18 22:38:49 +08:00
graph_editor.cpp on stack replacement 2024-03-26 17:26:11 +08:00
graph_editor.h on stack replacement 2024-03-26 17:26:11 +08:00
graph_linearizer.cpp Revert PR 7378 2024-07-24 16:49:20 +08:00
graph_linearizer.h Implement Induction Variable Analysis 2024-04-02 17:25:10 +08:00
hash_stub_builder.cpp gethash 2024-04-24 19:38:52 +08:00
hash_stub_builder.h Add hash tests 2024-04-09 04:18:43 +08:00
hcr_circuit_builder.cpp Add typed Float32Array Construct IR path 2024-07-25 18:37:00 +08:00
hcr_circuit_builder.h Add compiledcode and fastcall flag in JSFunction 2024-07-09 12:16:49 +08:00
hcr_gate_meta_data.cpp GateMetaData 分层 2023-09-15 16:26:40 +08:00
hcr_gate_meta_data.h ElementsKind-Part3 Prepare for AOT and switchOn 2024-02-19 19:18:11 +08:00
hcr_opcodes.h Add typed Float32Array Construct IR path 2024-07-25 18:37:00 +08:00
ic_stub_builder.cpp Support shortcut bool in stub interpreter 2024-06-27 18:14:07 +08:00
ic_stub_builder.h Modifying Code Alarms 2023-08-03 10:19:06 +08:00
induction_variable_analysis.cpp Revert PR 7378 2024-07-24 16:49:20 +08:00
induction_variable_analysis.h Implement Induction Variable Analysis 2024-04-02 17:25:10 +08:00
instruction_combine.cpp Opt IntLexicographicCompare 2024-06-07 15:15:01 +08:00
instruction_combine.h Instruction Combining and Strength Reduction Implementation 2023-11-01 10:57:40 +08:00
interpreter_stub-inl.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
interpreter_stub.cpp Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
interpreter_stub.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
ir_builder.cpp revise according to review 2023-11-27 20:16:00 +08:00
ir_builder.h !6563 on stack replacement 2024-03-27 03:11:40 +00:00
ir_module.cpp Fix Aot Binding and Array.prototype.indexOf 2024-07-01 16:34:58 +08:00
ir_module.h revise according to review 2023-11-27 20:16:00 +08:00
jit_compilation_env.cpp ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
jit_compilation_env.h ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
jit_compiler.cpp [BaselineJIT] pass native pointer to BaselineCompiler::Compile & add some exception macro 2024-06-18 15:03:59 +08:00
jit_compiler.h !7622 warning fix 2024-06-04 11:51:01 +00:00
jit_signcode.cpp JitFort and CodeSigner support 2024-06-01 18:09:43 +08:00
jit_signcode.h JitFort and CodeSigner support 2024-06-01 18:09:43 +08:00
later_elimination.cpp GetEnv elimination 2024-07-23 10:46:48 +08:00
later_elimination.h Some Code Rectification And Bugfix 2023-11-14 20:35:30 +08:00
lcr_circuit_builder.cpp Fix failing to compile health app 2024-03-12 20:59:48 +08:00
lcr_circuit_builder.h [fuzz] 一些Fuzz问题修复 2024-07-18 20:18:10 +08:00
lcr_gate_meta_data.cpp GateMetaData 分层 2023-09-15 16:26:40 +08:00
lcr_gate_meta_data.h Circuit Builder 分层 2023-10-07 09:04:15 +08:00
lcr_opcodes.h Inline Math.Ceil and Math.Floor builtins 2024-03-24 16:59:01 +08:00
lexical_env_specialization_pass.cpp 修改告警 2024-05-04 18:22:49 +08:00
lexical_env_specialization_pass.h Some Code Rectification And Bugfix 2023-11-14 20:35:30 +08:00
loop_analysis.cpp on stack replacement 2024-03-26 17:26:11 +08:00
loop_analysis.h Refactor bytecode graph builder 2023-11-06 09:19:36 +08:00
loop_peeling.cpp Refactor bytecode graph builder 2023-11-06 09:19:36 +08:00
loop_peeling.h Refactor bytecode graph builder 2023-11-06 09:19:36 +08:00
mcr_circuit_builder.cpp !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
mcr_circuit_builder.h Add compiledcode and fastcall flag in JSFunction 2024-07-09 12:16:49 +08:00
mcr_gate_meta_data.cpp rebase pgo_type to master 2024-04-08 18:59:44 +08:00
mcr_gate_meta_data.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
mcr_lowering.cpp [fuzz] Math函数及DataView函数在特殊入参时的问题修复 2024-07-14 17:30:15 +08:00
mcr_lowering.h [fuzz] Math函数及DataView函数在特殊入参时的问题修复 2024-07-14 17:30:15 +08:00
mcr_opcodes.h !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
native_inline_lowering.cpp !7928 ArraySort NativeInlineLowering 2024-07-19 14:16:31 +00:00
native_inline_lowering.h Arraysort nativeinline 2024-07-18 09:30:09 +08:00
new_object_stub_builder.cpp !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
new_object_stub_builder.h !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
ntype_bytecode_lowering.cpp Jit Bugfix - CreateArrayWithBuffer 2024-07-04 10:51:19 +08:00
ntype_bytecode_lowering.h Jit Bugfix - CreateArrayWithBuffer 2024-07-04 10:51:19 +08:00
ntype_hcr_lowering.cpp ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
ntype_hcr_lowering.h Optimized UnsharedConstPool 2024-06-03 12:49:40 +08:00
number_gate_info.h ElementsKind-Part3 Prepare for AOT and switchOn 2024-02-19 19:18:11 +08:00
number_speculative_lowering.cpp !7513 Fix bugs about lowering MonocularDouble in NumberSpeculativeLowering pass 2024-06-06 03:21:06 +00:00
number_speculative_lowering.h Fix bugs about lowering MonocularDouble in NumberSpeculativeLowering pass & type cast in Constantfold of litecg 2024-06-02 12:09:19 +08:00
number_speculative_retype.cpp !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
number_speculative_retype.h Fix MATH_SIGN_TAGGED gate type after inlining 2024-07-08 14:33:33 +03:00
number_speculative_runner.cpp Escape Analysis 2024-03-11 19:46:55 +08:00
number_speculative_runner.h Remove TSManager and TSTypes 2024-04-18 19:02:45 +08:00
operations_stub_builder.cpp Code comment Enhancement 2024-03-18 10:01:01 +08:00
operations_stub_builder.h Feat(Aot): PGO extension supports hclass dump 2023-06-01 19:54:22 +08:00
pass_manager.cpp Remove hasTSType 2024-07-20 14:13:48 +08:00
pass_manager.h Refactor AOT compiler pipeline (part 4) 2024-06-20 10:07:08 +08:00
pass_options.h !7111 [feature]:降低端侧编译时长 2024-05-10 02:33:53 +00:00
pass.h Remove hasTSType 2024-07-20 14:13:48 +08:00
pgo_bc_info.cpp AOT supports ld/stobjbyname for function object 2023-11-20 13:43:12 +08:00
pgo_bc_info.h [JIT] export libark_jsruntime.so symbols for libark_jsoptimizer.so 2024-01-25 12:24:36 +08:00
post_schedule.cpp Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
post_schedule.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
precompile_checker.cpp Fix bug that crash when circuit has no return 2024-04-18 20:40:34 +08:00
precompile_checker.h Fix bug that crash when circuit has no return 2024-04-18 20:40:34 +08:00
profiler_operation.h Fix(Aot): Application Aot optimization 2024-06-27 19:04:32 +08:00
profiler_stub_builder.cpp Fix performance degradation issues 2024-07-25 14:12:26 +08:00
profiler_stub_builder.h <Perf>(interpreter): Optimization PGO profile 2024-07-20 22:10:26 +08:00
range_analysis.cpp Use chunk to avoid memory leak 2024-06-29 15:39:18 +08:00
range_analysis.h Inline Map.prototype.size in compiler IR 2024-04-20 12:31:42 +08:00
range_guard.cpp Use chunk to avoid memory leak 2024-06-29 15:39:18 +08:00
range_guard.h Some Code Rectification And Bugfix 2023-11-14 20:35:30 +08:00
rt_call_signature.cpp Reason:add fast call and change calling conversion to cc 2023-05-18 19:23:25 +08:00
rt_call_signature.h Add static branch prediction for CheckSafePoint 2024-06-24 11:16:10 +08:00
scheduler.cpp !7004 Stack Overflow Occurs Because the Recursive Function Is Invoked at Too Many Levels 2024-05-11 05:40:24 +00:00
scheduler.h Refactor Scheduler,support hoist gate out of loop (Part-1) 2023-04-26 19:58:04 +08:00
share_gate_meta_data.cpp Optimize AOT NewObjRange 2024-04-28 11:07:38 +08:00
share_gate_meta_data.h !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
share_opcodes.h lodash bugfix - inline getenv no depend fix 2024-07-03 15:08:52 +08:00
slowpath_lowering.cpp !8245 ElementsKind Support JSArray as Proto 2024-07-24 12:17:50 +00:00
slowpath_lowering.h ElementsKind Support JSArray as Proto 2024-07-24 10:32:41 +08:00
state_split_linearizer.cpp 修改告警 2024-05-07 19:08:57 +08:00
state_split_linearizer.h In JIT compilation, access the hclass that may be used as a constant. Improve performance 2024-05-23 14:24:31 +08:00
string_builder_optimizer.cpp [ets_runtime] Workload performance optimization for stringAdd 2024-07-24 18:51:11 +08:00
string_builder_optimizer.h Json Stringify Segmentfault Bugfix 2024-01-29 20:29:40 +08:00
stub_builder-inl.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
stub_builder.cpp Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
stub_builder.h Split SetValueWithBarrier with ShareValue 2024-07-26 12:47:46 +08:00
stub_compiler.cpp enable baseline compiler 2024-04-21 17:58:55 +08:00
stub_compiler.h llvm litecg相关目录整理 2024-02-22 15:46:20 +08:00
stub.cpp Implement debug information framework (Part-3) 2023-04-26 14:19:53 +08:00
stub.h Implement debug information framework (Part-3) 2023-04-26 14:19:53 +08:00
ts_hcr_opt_pass.cpp [JIT] fix getting constpool of inlined callee 2024-07-02 14:40:12 +08:00
ts_hcr_opt_pass.h Fix aot defineFun typepath bug 2024-05-20 10:52:21 +08:00
ts_inline_lowering.cpp Remove hasTSType 2024-07-20 14:13:48 +08:00
ts_inline_lowering.h JIT PGO discards the hclass in the RWOp of ProfileType, which needs to be accessed indirectly 2024-07-01 23:01:11 +08:00
type_info_accessors.cpp Fix performance degradation issues 2024-07-25 14:12:26 +08:00
type_info_accessors.h Fix performance degradation issues 2024-07-25 14:12:26 +08:00
type.cpp Support Deoptimization (part-2) 2022-10-07 18:39:28 -07:00
type.h Revert PR 7378 2024-07-24 16:49:20 +08:00
typed_bytecode_lowering.cpp !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
typed_bytecode_lowering.h Fuzz Bugfix:StObjByName Load Key and Hclass Prototype Check 2024-07-17 11:26:05 +08:00
typed_hcr_lowering.cpp !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
typed_hcr_lowering.h !8183 Add typed Float32Array Construct IR path 2024-07-26 02:45:29 +00:00
typed_native_inline_lowering.cpp Fix aot workload IndexOf 2024-07-22 14:39:35 +08:00
typed_native_inline_lowering.h Fix aot workload IndexOf 2024-07-22 14:39:35 +08:00
value_numbering.cpp 修改告警 2024-05-04 18:22:49 +08:00
value_numbering.h GlobalValueNumering implementation 2023-10-11 20:21:06 +08:00
variable_type.h Explicit only works on single-argument constructor 2023-01-03 11:06:16 +08:00
verifier.cpp modify code alarms 2024-04-19 14:53:36 +08:00
verifier.h Add log for ark_aot_compiler 2024-04-02 11:44:45 +08:00